Correction du bug sur les adresses MAC + mécanisme plus général pour
canonicaliser les adresses MAC. darcs-hash:20050714180401-d1718-d16a57cc796e6094328b8125eea4f33a3ba35281.gz
This commit is contained in:
parent
30b729c713
commit
81e0328b7a
1 changed files with 9 additions and 3 deletions
|
@ -157,7 +157,14 @@ def format_mac(mac) :
|
|||
Retourne la mac formatée.
|
||||
"""
|
||||
l, mac = preattr(mac)
|
||||
mac= mac.replace(':','').replace('-','').replace(' ','').lower()
|
||||
mac = mac.strip()
|
||||
if mac.count(":") + mac.count("-") == 5:
|
||||
# On a une adresse de la forme 0:01:02:18:d1:90
|
||||
# On va compléter s'il manque des 0
|
||||
for car in (":", "-"):
|
||||
mac = car.join(map(lambda x: x.replace(' ', '0'),
|
||||
map(lambda x: "%02s" % x, mac.split(car))))
|
||||
mac= mac.replace(':','').replace('-','').lower()
|
||||
if len(mac)!=12 :
|
||||
raise ValueError(u'Longueur adresse mac incorrecte.')
|
||||
for c in mac[:] :
|
||||
|
@ -455,8 +462,7 @@ class crans_ldap :
|
|||
el = '(%s=%s*)' % ( champ, expr)
|
||||
elif champ == 'macAddress' :
|
||||
# Formatage adresse mac
|
||||
try : el = '(macAddress=%s)' % format_mac(expr)
|
||||
except : return ''
|
||||
el = '(macAddress=%s)' % format_mac(expr)
|
||||
elif champ == 'paiement' and expr == 'ok' :
|
||||
# Paiement donnant droit à une connexion maintenant ?
|
||||
# Deux cas :
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue