diff --git a/impression/impression_hp.py b/impression/impression_hp.py index 32193c6e..5f4fe24b 100644 --- a/impression/impression_hp.py +++ b/impression/impression_hp.py @@ -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('--')