[global] On diminue le risque de lock résiduel, et on corrige une faille des fonctions new[A-Z]*

* En cas d'erreur au create ou au save, on supprime les locks malgré tout
    * Les fonctions new* modifiaient directement le dico qu'on leur passait en
    argument, on fait désormais une copie de celui-ci, de façon à ce que test.py
    n'instancie pas toujours le même objet en croyant instancier des objets
    différents à chaque fois
    * Cela permet de trouver une typo dans services.py
    * crans_utils a été un peu corrigé.
This commit is contained in:
Pierre-Elliott Bécue 2013-05-30 18:44:15 +02:00
parent e0bce3f7d3
commit 616acdbb7a
6 changed files with 52 additions and 21 deletions

View file

@ -664,7 +664,6 @@ class macAddress(Attr):
def parse_value(self, mac):
self.value = format_mac(mac)
# XXX self.parent['ip6HostNumber'] = cequ'ilfaut
def __unicode__(self):
return unicode(self.value).lower()
@ -700,7 +699,10 @@ class ip6HostNumber(Attr):
ldap_name = "ip6HostNumber"
def parse_value(self, ip6):
ip = ip6_of_mac(str(self.parent['macAddress'][0]), int(str(self.parent['rid'][0])))
if self.parent != None:
ip = ip6_of_mac(str(self.parent['macAddress'][0]), int(str(self.parent['rid'][0])))
else:
ip = ip6
self.value = netaddr.ip.IPAddress(ip)
def __unicode__(self):