diff --git a/impression/maintienpdf b/impression/maintienpdf new file mode 100755 index 00000000..f6463d51 --- /dev/null +++ b/impression/maintienpdf @@ -0,0 +1,50 @@ +#! /usr/bin/env python +# -*- coding: iso-8859-15 -*- + +# Script de suppression des pdfs trop vieux et des descriptions perverties. +# Codé par Francois +# Licence : GNU General Public Licence, version 2 + +import os,sys,time +sys.path.append('/usr/script/impression') +import class_impression + +#espérance de vie d'un pdf en seconde +duree_vie_pdf=3600 + +#répertoire racine des dossier d'impression +data_dir='/var/spool/impression/' + + +def suppr_vieux_pdf(arg,dir_name,list_file): + print dir_name+':\n' + list_desc=filter(lambda x : (x.endswith('.desc')),list_file) + if list_desc==[]: + print '\taucun fichier de description\n' + else: + #Ouverture des descriptions et suppression du pdf si nécessaire + for nom_fichier_desc in list_desc: + fic_impr=class_impression.fichier_impression() + fic_impr.nom_fichier_desc=os.path.join(dir_name,nom_fichier_desc) + fic_impr.read_desc() + if fic_impr.nom_fichier_pdf=='': + print '\t'+fic_impr.nom_fichier_pdf+' supprimé et\n' + print '\t'+fic_impr.nom_fichier_desc+' supprimé car nom_fichier_pdf inconnue\n' + os.remove(fic_impr.nom_fichier_desc) + elif fic_impr.modif_epoch==None: + print '\t'+fic_impr.nom_fichier_pdf+' supprimé et\n' + print '\t'+fic_impr.nom_fichier_desc+' supprimé car modif_epoch inconnue\n' + os.remove(fic_impr.nom_fichier_pdf) + os.remove(fic_impr.nom_fichier_desc) + elif (time.time()-fic_impr.modif_epoch)>duree_vie_pdf and os.access(fic_impr.nom_fichier_pdf,os.F_OK): + os.remove(fic_impr.nom_fichier_pdf) + print '\t'+fic_impr.nom_fichier_pdf+" supprimé\n" + fic_impr.imprime=-4 + fic_impr.sauve_desc() + +def main(): + print 'Suppression des descriptions perverties' + print 'Suppression des fichiers pdf vieux de plus de '+str(duree_vie_pdf)+'s' + os.path.walk(data_dir,suppr_vieux_pdf,None) + +main()