[print_status] On tronque les fichiers ouverts en écriture si on est

succeptibles de reécrire par dessus quelque chose, et on utilise un
message d’erreur vide quand tout va bien au lieu de simplement
supprimer le fichier qui stocke les erreurs.
This commit is contained in:
Sylvain Boilard 2013-04-20 17:04:31 +02:00
parent b01348c4eb
commit a195e82618

View file

@ -110,11 +110,10 @@ task_list = content.split('\n')
# On fait le test sur les entêtes, ce qui permet de sen débarasser au passage. # On fait le test sur les entêtes, ce qui permet de sen débarasser au passage.
if len(task_list.pop(0).split(',')) != 13: if len(task_list.pop(0).split(',')) != 13:
# En cas derreur sur limprimante, plutôt que de spamer sur roots@crans.org, on note léchec quelque part à lattention dun service de monitoring. # En cas derreur sur limprimante, plutôt que de spamer sur roots@crans.org, on note léchec quelque part à lattention dun service de monitoring.
error_file = open(error_filename, "w") error_file = open(error_filename, "w+")
error_file.write("La liste des tâches renvoyée par limprimante na pas le format attendu.") error_file.write("La liste des tâches renvoyée par limprimante na pas le format attendu.")
error_file.close() error_file.close()
exit(0) exit(0)
os.system("rm -f " + error_filename)
# On enlève aussi les deux lignes vides à la fin de la liste. # On enlève aussi les deux lignes vides à la fin de la liste.
task_list.pop() task_list.pop()
task_list.pop() task_list.pop()
@ -146,7 +145,7 @@ tasks_to_treat.reverse()
for item in tasks_to_treat: for item in tasks_to_treat:
fields = item.split(',', 6) fields = item.split(',', 6)
# On met à jour le numéro de la dernière tâche traitée. # On met à jour le numéro de la dernière tâche traitée.
last_file = open(last_print_filename, "w") last_file = open(last_print_filename, "w+")
last_file.write(fields[0]) last_file.write(fields[0])
last_file.close() last_file.close()
if fields[3].strip('"') in ["root",'DIRECT PRINT']: if fields[3].strip('"') in ["root",'DIRECT PRINT']:
@ -189,3 +188,6 @@ for item in tasks_to_treat:
else: else:
mail_content = error_mail % (error_send_to, error_send_to, filename, taskID, full_name, user, date, result, u"\n".join(send_to)) mail_content = error_mail % (error_send_to, error_send_to, filename, taskID, full_name, user, date, result, u"\n".join(send_to))
sendMail(error_send_to, error_send_to, mail_content.encode("utf-8")) sendMail(error_send_to, error_send_to, mail_content.encode("utf-8"))
error_file = open(error_filename, "w+")
error_file.close()