Resolution du problme : les lignes d'historique n'avaient pas toutes la
mme tte... darcs-hash:20061216134726-f46e9-7f9ef3d06b998d6048e87ee475789a1b856d32df.gz
This commit is contained in:
parent
345e65bae7
commit
aa7dc31615
1 changed files with 62 additions and 41 deletions
|
@ -16,6 +16,14 @@ from ldap_crans import crans_ldap
|
|||
from time import *
|
||||
from config import upload
|
||||
import commands
|
||||
# logging tools
|
||||
import syslog
|
||||
def log(x):
|
||||
syslog.openlog('GENERATE_DECONNEXION_NOTICE')
|
||||
syslog.syslog(x)
|
||||
syslog.closelog()
|
||||
|
||||
import crans.utils.exceptions
|
||||
|
||||
import locale
|
||||
locale.setlocale(locale.LC_TIME, 'fr_FR')
|
||||
|
@ -29,10 +37,15 @@ Les sanctions disponibles sont :
|
|||
usage: generate.py --sanction recherche_ldap
|
||||
Le motif de recherche dans la base ldap doit donné un résultat unique""" % "\n\t--".join(map(lambda x: x,sanctions))
|
||||
|
||||
|
||||
|
||||
|
||||
def generate_ps(sanction, proprio, db):
|
||||
"""En fonction de la sanction à appliquer au propriétaire,
|
||||
on génère la feuille de déconnexion et on retourne son nom et
|
||||
emplacement."""
|
||||
try:
|
||||
log('Generate deconnexion notice for %s' % proprio.Nom())
|
||||
# Dossier de génération du ps
|
||||
dossier = '/usr/scripts/surveillance/fiche_deconnexion'
|
||||
|
||||
|
@ -52,11 +65,11 @@ def generate_ps(sanction, proprio, db):
|
|||
# filtrage des autodisc
|
||||
historique = [ bl.encode('iso-8859-15').split('$') for bl in proprio.blacklist() if bl.split('$')[2] == 'autodisc_%s' % sanction ]
|
||||
# transfomation en tuple (date, sanction)
|
||||
historique = [ (strftime('%A %d %B %Y', localtime(int(bl[0]))), bl[-1].split(' ')[-2]) for bl in historique ]
|
||||
historique = [ (strftime('%A %d %B %Y', localtime(int(bl[0]))), bl[-1]) for bl in historique ]
|
||||
# tranformation en ligne
|
||||
if sanction == 'upload' :
|
||||
# On donne la valeur de l'upload
|
||||
historique = [ '%s & %s & Mo'%(bl[0], bl[1]) for bl in historique ]
|
||||
historique = [ '%s & %s & Mo'%(bl[0], bl[1].split(' ')[-2]) for bl in historique ]
|
||||
else :
|
||||
# On donne juste la date
|
||||
historique = [ '%s' % bl[0] for bl in historique ]
|
||||
|
@ -74,9 +87,17 @@ def generate_ps(sanction, proprio, db):
|
|||
commands.getstatusoutput('PATH="/bin:/usr/bin" cd %(dossier)s && latex %(base)s.tex && dvips %(base)s.dvi && rm -f %(base)s.dvi %(base)s.aux %(base)s.log %(base)s.tex'%{'dossier': dossier, 'base': fichier})
|
||||
|
||||
return '%s/%s.ps' % (dossier, fichier)
|
||||
|
||||
except Exception, e:
|
||||
log('Erreur lors de la génération du ps : ')
|
||||
log(str(e))
|
||||
log("Values : sanction:%s adherent:%s" % (sanction, proprio.Nom()))
|
||||
log(crans.utils.exceptions.formatExc())
|
||||
raise e
|
||||
|
||||
if __name__ == "__main__":
|
||||
def log(x):
|
||||
print x
|
||||
|
||||
def aide():
|
||||
print help
|
||||
sys.exit(0)
|
||||
|
@ -99,7 +120,7 @@ if __name__ == "__main__":
|
|||
print "Erreur : aucun motif de recherche défini.\n"
|
||||
aide()
|
||||
else :
|
||||
motif = sys.argv[2]
|
||||
motif = sys.argv[-1]
|
||||
|
||||
recherche = db.search(motif)['adherent']
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue