diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 13032586..7e6bb972 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -2017,7 +2017,46 @@ class machine(base_classes_crans) : self._set('ipHostNumber',[ip]) return ip - + + def exempt(self,new=None) : + """ + Liste des réseaux vers lesquels on ne compte pas l'upload + Cette liste est transférée dans la base postgres de komaz + Pour ajouter un réseau new doit être la chaîne + représentant le réseau à ajouter + Pour modifier new doit être une liste de la forme : + [ index du nouveau réseau , nouveau réseau ] + l'index est celui obtenu dans la liste retournée par exempt() + """ + if not self._data.has_key('exempt') : + self._data['exempt']=[] + liste = list(self._data['exempt']) + if new==None : return map(decode,liste) + + if type(new)==list : + # Modif + index = new[0] + l, new = preattr(new[1]) + if not new : + # Supression réseau + liste.pop(index) + else : + # Modif remarque + liste[index]=new + elif type(new)==str : + # Réseau supplémentaire + l, new = preattr(new) + if not new : + # On ajoute pas de réseau vide + return liste + # Ajout à la liste + liste = liste + [ new ] + else : + raise TypeError + + self._set('exempt',liste) + return liste + def proprietaire(self) : """ retroune le propriétaire de la machine (classe adherent, club ou crans ou invite)