Commit 7921d6e4 authored by Valentin Samir's avatar Valentin Samir Committed by Pierre-Elliott Bécue
Browse files

[gest_crans_lc] Lisibilité : retour à la ligne pour les grandes lignes.

 * Et une typo
parent c3d4308a
......@@ -143,7 +143,12 @@ class TailCall(object) :
self.kwargs = kwargs
def __str__(self):
return "TailCall<%s(%s%s%s)>" % (self.call.func_name, ', '.join(repr(a) for a in self.args), ', ' if self.args and self.kwargs else '', ', '.join("%s=%s" % (repr(k),repr(v)) for (k,v) in self.kwargs.items()))
return "TailCall<%s(%s%s%s)>" % (
self.call.func_name,
', '.join(repr(a) for a in self.args),
', ' if self.args and self.kwargs else '',
', '.join("%s=%s" % (repr(k),repr(v)) for (k,v) in self.kwargs.items())
)
def copy(self):
'''
......@@ -258,7 +263,12 @@ class GestCrans(object):
if droit in self.conn.droits:
break
else:
sys.stderr.write(u"%s ne possède aucun des droits :\n * %s\nnécessaire à utiliser ce programme\n" % (self.conn.current_login, '\n * '.join(allowed_right)))
sys.stderr.write(
u"%s ne possède aucun des droits :\n * %s\nnécessaire à utiliser ce programme\n" % (
self.conn.current_login,
'\n * '.join(allowed_right)
)
)
sys.exit(1)
_dialog = None
......@@ -308,7 +318,10 @@ class GestCrans(object):
except DialogTerminatedBySignal as e:
signal.signal(signal.SIGINT, signal.SIG_IGN) # Pas de Ctrl-C
if e[1] == 11:
self.dialog.msgbox("La fenêtre dialog à été fermée par une erreur de segmentation", timeout=self.timeout, title="Erreur rencontrée", width=73, height=10)
self.dialog.msgbox(
"La fenêtre dialog à été fermée par une erreur de segmentation",
timeout=self.timeout, title="Erreur rencontrée", width=73, height=10
)
raise Continue(cancel_cont)
else:
raise
......@@ -322,7 +335,7 @@ class GestCrans(object):
def handle_dialog_result(self, code, output, cancel_cont, error_cont, codes_todo=[]):
"""
Gère les fonctions traitant les résultat d'appels à dialog.
s'occupe de gérer les exceptions, Ctrl-C, propagation de certaine exceptions, l'appuis sur annuler.
s'occupe de gérer les exceptions, Ctrl-C, propagation de certaine exceptions, l'appuis sur annuler.
Le code à exécuté lui ai passé via la liste codes_todo, qui doit contenir une liste de triple :
(code de retour dialog, fonction à exécuter, liste des arguements de la fonction)
la fonction est appelée sur ses arguements si le code retourné par dialog correspond.
......@@ -348,14 +361,16 @@ class GestCrans(object):
# En cas d'une autre erreur, on l'affiche et on retourne au menu d'édition
except (Exception, ldap.OBJECT_CLASS_VIOLATION) as e:
signal.signal(signal.SIGINT, signal.SIG_IGN) # Pas de Ctrl-C
self.dialog.msgbox("%s" % unicode_of_Error(e), timeout=self.timeout,title="Erreur rencontrée", width=73, height=10)
self.dialog.msgbox("%s" % unicode_of_Error(e), timeout=self.timeout,
title="Erreur rencontrée", width=73, height=10)
raise Continue(error_cont)
except KeyboardInterrupt:
signal.signal(signal.SIGINT, signal.SIG_IGN) # Pas de Ctrl-C
raise Continue(cancel_cont)
# En cas de code de retour dialog non attendu, on prévient et on retourne au menu d'édition
self.dialog.msgbox("Le code de retour dialog est %s, c'est étrange" % code, timeout=self.timeout, title="Erreur rencontrée", width=73, height=10)
self.dialog.msgbox("Le code de retour dialog est %s, c'est étrange" % code,
timeout=self.timeout, title="Erreur rencontrée", width=73, height=10)
raise Continue(error_cont)
@tailcaller
......@@ -369,7 +384,12 @@ class GestCrans(object):
choices = [('new', 'Ajouter une nouvelle blackliste')]
index = 0
for bl in obj['blacklist']:
choices.append((str(index), coul("%s [%s]" % (bl['type'], bl['comm']), 'rouge' if bl['actif'] else None, dialog=True)))
choices.append(
(str(index),
coul("%s [%s]" % (bl['type'], bl['comm']), 'rouge' if bl['actif'] else None,
dialog=True)
)
)
index+=1
return self.dialog.menu(
"Éditer une blacklist ou en ajouter une nouvelle ?\n(les blacklistes actives apparaissent en rouge)",
......@@ -428,7 +448,8 @@ class GestCrans(object):
if tag in config.blacklist_items:
return tag
else:
self.dialog.msgbox("%s n'est pas une blacklist" % tag, timeout=self.timeout, title="Erreur rencontrée", width=73, height=10)
self.dialog.msgbox("%s n'est pas une blacklist" % tag, timeout=self.timeout,
title="Erreur rencontrée", width=73, height=10)
raise Continue(retry_cont)
(code, tag) = self.handle_dialog(cont, box)
......@@ -443,9 +464,11 @@ class GestCrans(object):
@tailcaller
def get_timestamp(self, title, text, cont, hour=-1, minute=-1, second=-1, day=0, month=0, year=0):
"""Fait choisir une date et une heure et retourne le tuple (year, month, day, hour, minute, second)"""
retry_cont = TailCall(self.get_timestamp, title=title, text=text, cont=cont, hour=hour, minute=minute, second=second, day=day, month=month, year=year)
retry_cont = TailCall(self.get_timestamp, title=title, text=text, cont=cont, hour=hour,
minute=minute, second=second, day=day, month=month, year=year)
def get_date(day, month, year):
(code, output) = self.dialog.calendar(text, day=day, month=month, year=year, timeout=self.timeout, title=title)
(code, output) = self.dialog.calendar(text, day=day, month=month, year=year,
timeout=self.timeout, title=title)
if code in (self.dialog.DIALOG_CANCEL, self.dialog.DIALOG_ESC):
raise Continue(cont)
elif output:
......@@ -454,7 +477,8 @@ class GestCrans(object):
else:
raise EnvironmentError("Pourquoi je n'ai pas de date ?")
def get_time(hour, minute, second, day, month, year):
(code, output) = self.dialog.timebox(text, timeout=self.timeout, hour=hour, minute=minute, second=second)
(code, output) = self.dialog.timebox(text, timeout=self.timeout, hour=hour,
minute=minute, second=second)
if code in (self.dialog.DIALOG_CANCEL, self.dialog.DIALOG_ESC):
raise Continue(retry_cont(day=day, month=month, year=year))
elif output:
......@@ -466,9 +490,11 @@ class GestCrans(object):
(hour, minute, second) = get_time(hour, minute, second, day, month, year)
return (year, month, day) + (hour, minute, second)
def edit_blacklist(self, obj, title, update_obj, cont, bl=None, tag=None, bl_type=None, debut=None, fin=None, comm=None):
def edit_blacklist(self, obj, title, update_obj, cont, bl=None, tag=None, bl_type=None,
debut=None, fin=None, comm=None):
"""Pour éditer les blacklistes d'un objet lc_ldap"""
self_cont = TailCall(self.edit_blacklist, obj=obj, title=title, update_obj=update_obj, cont=cont, bl=bl, tag=tag, bl_type=bl_type, debut=debut, fin=fin, comm=comm)
self_cont = TailCall(self.edit_blacklist, obj=obj, title=title, update_obj=update_obj,
cont=cont, bl=bl, tag=tag, bl_type=bl_type, debut=debut, fin=fin, comm=comm)
# Si bl ou tag ne sont pas définit on les demande
if bl is None or tag is None:
bl_type = None
......@@ -485,19 +511,25 @@ class GestCrans(object):
if tag == 'new':
# Si debut n'est pas encore spécifié, on le demande
if debut is None:
debut_tuple = self.get_timestamp(title=title, text="Choisir le début de la blacklist", cont=self_cont(bl=bl, tag=tag, bl_type=None, debut=None, fin=None, comm=None))
debut_tuple = self.get_timestamp(title=title, text="Choisir le début de la blacklist",
cont=self_cont(bl=bl, tag=tag, bl_type=None, debut=None, fin=None, comm=None))
debut = int(time.mktime(time.struct_time(debut_tuple + (0, 0, -1))))
# Idem pour fin
if fin is None:
if self.dialog.yesno("Mettre une date de fin ?", title=title, timeout=self.timeout) == self.dialog.DIALOG_OK:
fin_tuple = self.get_timestamp(title=title, text="Choisir la date de fin :", cont=self_cont(bl=bl, tag=tag, bl_type=bl_type, debut=None, fin=None, comm=None))
if self.dialog.yesno("Mettre une date de fin ?", title=title,
timeout=self.timeout) == self.dialog.DIALOG_OK:
fin_tuple = self.get_timestamp(title=title, text="Choisir la date de fin :",
cont=self_cont(bl=bl, tag=tag, bl_type=bl_type,
debut=None, fin=None, comm=None))
fin = int(time.mktime(time.struct_time(debut_tuple + (0, 0, -1))))
else:
fin = '-'
bl['debut']=debut
bl['fin']=fin
bl['comm']=self.get_comment(title=title, text="Commentaire ?", cont=self_cont(bl=bl, tag=tag, bl_type=bl['type'], debut=debut, fin=None, comm=None))
if self.confirm_item(item=attributs.attrify(bl, 'blacklist', self.conn), title="Ajouter la blacklist ?"):
bl['comm']=self.get_comment(title=title, text="Commentaire ?",
cont=self_cont(bl=bl, tag=tag, bl_type=bl['type'], debut=debut, fin=None, comm=None))
if self.confirm_item(item=attributs.attrify(bl, 'blacklist', self.conn),
title="Ajouter la blacklist ?"):
try:
with self.conn.search(dn=obj.dn, scope=0, mode='rw')[0] as obj:
obj['blacklist'].append(bl)
......@@ -509,7 +541,8 @@ class GestCrans(object):
raise
# En cas d'une autre erreur, on l'affiche et on retourne
except (Exception, ldap.OBJECT_CLASS_VIOLATION) as e:
self.dialog.msgbox("%s" % unicode_of_Error(e), timeout=self.timeout, title="Erreur rencontrée", width=73)
self.dialog.msgbox("%s" % unicode_of_Error(e), timeout=self.timeout,
title="Erreur rencontrée", width=73)
raise Continue(self_cont(obj=obj))
else:
raise Continue(self_cont(bl=None, obj=obj))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment