From 4a68c06a719d3f67476f64a73d6041c7bb59bffd Mon Sep 17 00:00:00 2001 From: bernat Date: Thu, 28 Oct 2004 10:29:26 +0200 Subject: [PATCH] Il me faut aussi les dates darcs-hash:20041028082926-d1718-8fe6108a72e9e1162d4f982269c54a96044129d2.gz --- gestion/ldap_crans.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index fada1d14..9488a106 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -625,12 +625,16 @@ class base_classes_crans(crans_ldap) : Retourne les sanctions en cours (liste) Retourne une liste vide si aucune sanction en cours """ - return self.blacklist_all()[0] + return self.blacklist_all()[0].keys() def blacklist_all(self) : """ Vérifie si l'instance courante est blacklistée ou a été blacklistée. - Retourne les sanctions en cours (liste) et les sanctions passées + Retourne les sanctions en cours sous forme de dictionnaire avec comme clef + la sanction et comme valeur une liste de couple de dates correspondant aux + différentes périodes de sanctions. + + ex: { 'upload' : (('17/11/2004 00:00','20/11/2004 00:00'), ('...', '...')) } """ bl_liste = self._data.get('blacklist',[]) @@ -639,15 +643,21 @@ class base_classes_crans(crans_ldap) : p = self.proprietaire() bl_liste += p.blacklist() - actifs = [] - inactifs = [] + actifs = {} + inactifs = {} for sanction in bl_liste : s = sanction.split(',')[2] - if not s in actifs and is_actif(sanction) : - actifs.append(s) - elif not s in inactifs: - inactifs.append(s) + if is_actif(sanction) : + if not s in actifs: + actifs[s] = [] + actifs[s].append((sanction.split(',')[0], + sanction.split(',')[1])) + else: + if not s in inactifs: + inactifs[s] = [] + inactifs[s].append((sanction.split(',')[0], + sanction.split(',')[1])) return (actifs, inactifs) def blacklist(self,new=None) :