* Maintenant, on va pouvoir identifier formellement les machines v6-only et les autres, sans perdre
 la possibilité de passer de l'une à l'autre rapidement (avec les changements qui vont bien)
This commit is contained in:
Pierre-Elliott Bécue 2013-05-30 01:15:24 +02:00
parent 60ded9f830
commit cd75ed7bd4
5 changed files with 79 additions and 35 deletions

View file

@ -47,6 +47,7 @@ import attributs
import objets
import ldap_locks
import variables
import itertools
## import de /usr/scripts/
if not "/usr/scripts/" in sys.path:
@ -232,8 +233,8 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
uldif['objectClass'] = [u'borneWifi']
assert isinstance(owner, objets.AssociationCrans)
elif realm in ["wifi", "wifi-v6"]:
uldif['objectClass'] = [u'machineWifi']
elif realm in ["wifi-adh", "wifi-v6"]:
ldif['objectClass'] = [u'machineWifi']
assert isinstance(owner, objets.adherent) or isinstance(owner, objets.club)
elif realm in ["adherents", "adherents-v6", "personnel-ens"]:
@ -244,7 +245,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
raise ValueError("Realm inconnu: %r" % realm)
# On récupère la plage des mids
plage = xrange( *(config.rid[realm]))
plage = itertools.chain(*[xrange(a,b+1) for (a,b) in config.rid_primaires[realm]])
# On récupère le premier id libre dans la plages s'il n'est pas
# déjà précisé dans le ldiff
rid = uldif.setdefault('rid', [unicode(self._find_id('rid', plage)) ])