Ajout de la possibilité de perforer ses pages

This commit is contained in:
Gabriel Detraz 2015-04-07 22:57:50 +02:00
parent 66f3fd0707
commit 25022bde92

View file

@ -53,11 +53,11 @@ class Option(object):
value = None
def __str__(self):
return str(value)
return str(self.value)
name = "option"
pretty_name = u"option quelconque"
def parse(self, v):
self.value = v
@ -71,7 +71,7 @@ class BooleanOption(Option):
class Couleur(BooleanOption):
name = "couleur"
pretty_name = u"impression couleur"
class Livret(BooleanOption):
name = "livret"
pretty_name = u"livret piqûres à cheval"
@ -98,7 +98,7 @@ class SelectOption(Option):
}
value = None
def parse(self, v):
if v == 'None':
v = None
@ -180,9 +180,9 @@ class impression(object):
_fichier = ""
# adhérent (instance)
_adh = None
# paramètres
# paramètres
_settings_list = [
Agrafage,
Agrafage,
Papier,
Couleur,
Duplex,
@ -206,7 +206,7 @@ class impression(object):
_format = '(A4)'
_width = 595.28
_height = 841.89
# Jid unique, à définir avant l'impression
_jid = 0
@ -286,7 +286,7 @@ class impression(object):
newfile = '/tmp/' + self.fileName()[-4] + '-book.pdf'
newfile = '/tmp/book.pdf'
check_output(
['/usr/bin/pdfjam', self._fichier,
['/usr/bin/pdfjam', self._fichier,
livret.pdfjam_order(self._pages),
'-o', newfile,
])
@ -454,7 +454,7 @@ class impression(object):
# Pour spécifier un jobname de la forme jid:adh:nom_du_fichier
jobname = '%d:%s:%s' % (self._jid, self._adh, self._fichier.split('/')[-1].replace("\"","\\\""))
options += ['-t', jobname]
#Pour le nombre de copies et specifie non assemblee
options += ['-n', str(self._settings['copies'].value)]
#Et on ne les veux pas assemblées (sic)
@ -466,7 +466,7 @@ class impression(object):
options += ['-o', 'pdf-expand',
'-o', 'pdf-paper=841x1190',
'-o', 'PageSize=A3']
# Toujours resize (pour éviter que l'imprimante ne deadlock)
options += ['-o', 'fit-to-page']
@ -482,7 +482,7 @@ class impression(object):
options.append('InputSlot=Tray4')
else:
options.append('InputSlot=Tray3')
if not self._settings['couleur'].value:
options += ['-o', 'HPColorAsGray=True']
@ -492,14 +492,14 @@ class impression(object):
self._settings['livret'].value
paysage = self._width > self._height
# mode paysage: on indique que c'est landscape (ou livret)
if paysage:
if paysage:
options += ['-o', 'landscape']
# Livret: 2 pages par côté, et on inverse le bord duplex
if self._settings['livret'].value:
options += ['-o', 'number-up=2']
paysage = not paysage
if duplex:
if paysage:
options += ['-o', 'sides=two-sided-short-edge']
@ -515,6 +515,11 @@ class impression(object):
v = self._settings['agrafage'].HP_name()
options += ['-o', 'HPStaplerOptions=%s' % v]
if not self._settings['livret'].value:
if self._settings['perforation'].value:
v = self._settings['perforation']
options += ['-o', 'HPPunchingOptions=%s' % v]
# Que se passe-t-il si le nom de fichier commence par - ?
# pour éviter cela, on indique la fin des options, avec "--"
options.append('--')