* Champ position des bornes

* whos -h plus concis

darcs-hash:20060313215451-68412-33985b31e41aabeba4f38fad4426029b2d4bf8f8.gz
This commit is contained in:
glondu 2006-03-13 22:54:51 +01:00
parent 6604677322
commit 3fe5d7be00
2 changed files with 80 additions and 33 deletions

View file

@ -242,7 +242,8 @@ class crans_ldap:
'hostname': 'host',
'mac': 'macAddress',
'ip': 'ipHostNumber',
'telephone': 'tel'}
'telephone': 'tel',
'position': 'positionBorne'}
# Les différentes classes LDAP de machines
ldap_machines_classes = ['machineFixe', 'machineWifi', 'machineCrans', 'borneWifi']
@ -276,7 +277,8 @@ class crans_ldap:
'mailAlias', 'info', 'controle'], \
'machineFixe': non_auto_search_machines_champs,
'machineCrans': non_auto_search_machines_champs + ['prise'],
'borneWifi': non_auto_search_machines_champs + ['prise', 'puissance', 'canal'],
'borneWifi': non_auto_search_machines_champs + \
['prise', 'puissance', 'canal', 'hotspot', 'positionBorne'],
'machineWifi': non_auto_search_machines_champs + ['ipsec'] }
# Profondeur des différentes recherches (scope)
@ -2671,10 +2673,11 @@ class BorneWifi(Machine):
def __init__(self, parent_or_tuple, typ='borne', conn=None):
Machine.__init__(self, parent_or_tuple, typ, conn)
# Initialisaton par défaut spécifique
self._data['canal'] = ['2047']
self._data['puissance'] = ['60']
self._data['hotspot'] = ['FALSE']
if not isinstance(parent_or_tuple, tuple):
# Initialisaton par défaut spécifique
self._data['canal'] = ['2047']
self._data['puissance'] = ['60']
self._data['hotspot'] = ['FALSE']
def mac2(self):
""" Retourne l'adresse MAC + 2 """
@ -2767,6 +2770,29 @@ class BorneWifi(Machine):
self._set('puissance', [str(new)])
return new
def position(self, new=False):
"""
Attribution ou visualisation de la position d'une borne wifi.
Renvoie un couple de coordonnées si elles existent, None sinon.
new doit être un couple de coordonnées, None (pour enlever les
coordonnées) ou False (retourne les valeurs actuelles).
"""
if new == False:
valeur = (self._data.get('positionBorne') or [''])[0]
if valeur:
valeur = valeur.split(' ')
return (float(valeur[0]), float(valeur[1]))
else:
return None
elif new == None:
self._set('positionBorne', [])
return None
else:
self._set('positionBorne', ['%.6g %.6g' % (new[0], new[1])])
return new
class _fake_proprio(crans_ldap):
""" Définitions de base d'un propriétaire virtuel """