* On se protge contre les noms de fichiers farfelus.
* On affiche le cot sur la page de garde. darcs-hash:20060203165336-68412-94f3fbbda6743fae96d2e76b636a23ee26ac9387.gz
This commit is contained in:
parent
ff2a5894c6
commit
53bb62fc81
1 changed files with 13 additions and 20 deletions
|
@ -85,12 +85,7 @@ class fichier_impression :
|
|||
|
||||
def fait_payer(self):
|
||||
self.user_ldap = utilisateur(self.user,True)
|
||||
pdf = self.nom_fichier_pdf.split('/')[-1]
|
||||
if self.nom_job:
|
||||
commentaire = '%s (%s)' % (self.nom_job, pdf)
|
||||
else:
|
||||
commentaire = pdf
|
||||
self.user_ldap.solde(-self.cout, commentaire)
|
||||
self.user_ldap.solde(-self.cout, self.nom_job)
|
||||
self.user_ldap.save()
|
||||
return not (self.cout > (self.user_ldap.solde() - impression.decouvert))
|
||||
|
||||
|
@ -148,6 +143,8 @@ class fichier_impression :
|
|||
|
||||
# Pour demander une page de garde
|
||||
options += ' -o job-sheets=crans' #page de garde de type standard
|
||||
options += " -o job-billing=%.2f" % self.cout
|
||||
|
||||
if self.transparent :
|
||||
options += ' -o InputSlot=Tray1 -o Media=Transparency'
|
||||
if self.taille == 'A4':
|
||||
|
@ -210,18 +207,14 @@ class fichier_impression :
|
|||
return "<p>%s</p>" % body
|
||||
|
||||
def enregistre_pdf(self, f_value, f_nom, dossier):
|
||||
f_nom = f_nom.translate(string.maketrans(string.punctuation +
|
||||
string.whitespace,
|
||||
'_' * len(string.punctuation+string.whitespace)))
|
||||
(fd_fichier_desc, self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc',
|
||||
prefix=f_nom,
|
||||
dir=dossier)
|
||||
(fd_fichier_desc, self.nom_fichier_desc) = tempfile.mkstemp(suffix='.desc', prefix='job', dir=dossier)
|
||||
os.close(fd_fichier_desc)
|
||||
os.chmod(self.nom_fichier_desc, 33184)
|
||||
self.nom_fichier_pdf = "%s.pdf" % self.nom_fichier_desc[0:-5]
|
||||
file_obj_pdf = open(self.nom_fichier_pdf, 'w')
|
||||
file_obj_pdf.write(f_value)
|
||||
file_obj_pdf.close()
|
||||
self.nom_fichier_pdf = self.nom_fichier_desc.replace('.desc', '.pdf')
|
||||
fd_fichier_pdf = open(self.nom_fichier_pdf, 'w')
|
||||
fd_fichier_pdf.write(f_value)
|
||||
fd_fichier_pdf.close()
|
||||
os.chmod(self.nom_fichier_pdf, 0640)
|
||||
os.chmod(self.nom_fichier_desc, 0640)
|
||||
self.nbr_pages = int(os.popen("pdfinfo '%s' | grep Pages " % (self.nom_fichier_pdf)).readline().split()[1])
|
||||
self.modif_epoch = time.time()
|
||||
|
||||
|
@ -340,7 +333,7 @@ def utilisateur(user, rw):
|
|||
sys.exit(0) # On conclue l'avant-impression sans stopper l'imprimante
|
||||
|
||||
adherent = res[0]
|
||||
sys.stderr.write("DEBUG: Adherent %s (aid=%d) recupere.\n" % (user, adherent.id()))
|
||||
sys.stderr.write("DEBUG: Adherent %s (aid=%s) recupere.\n" % (user, adherent.id()))
|
||||
return adherent
|
||||
|
||||
################################################################################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue