Implmentation de la gestion des paramtres spcifiques aux bornes :
* dplacement de la gestion des canaux et de la puissance * ajout de la gestion de la position et des variables nvram darcs-hash:20061101150755-c3cc4-902ea7e60696b55114c40a7bbed94dcf49de1427.gz
This commit is contained in:
parent
928973454c
commit
4e0c64d19a
1 changed files with 72 additions and 15 deletions
|
@ -1140,6 +1140,69 @@ def del_club(club):
|
|||
##################################################################
|
||||
## Fonctions de remplissage ou modification des paramètres machine
|
||||
|
||||
def set_wifi(machine):
|
||||
"""
|
||||
Définition des paramètres spécifiques d'une borne wifi :
|
||||
* Canaux
|
||||
* Puissance
|
||||
* Position GPS
|
||||
* Variables nvram
|
||||
"""
|
||||
if not isadm:
|
||||
#ça ne devrait jamais arriver mais on n'est jamais trop prudent
|
||||
arg = u'--title "Erreur" '
|
||||
arg += u'--msgbox "Vous n\'avez pas les droits de modification de cette machine.\n\n" 0 0'
|
||||
dialog(arg)
|
||||
# On redemande
|
||||
return 1
|
||||
|
||||
nom = machine.nom()
|
||||
|
||||
# Construction de la boite de dialogue
|
||||
arg = u'--title "Paramètres spécifiques wifi de "%s"" ' % (nom)
|
||||
arg += u'--form "" 0 0 0 '
|
||||
# Borne wifi
|
||||
arg += u'"Canaux :" 1 1 "%s" 1 14 10 0 ' % machine.canal(None, False)
|
||||
arg += u'"Puissance :" 2 1 "%s" 2 14 4 0 ' % machine.puissance()
|
||||
arg += u'"Position N :" 3 1 "%s" 3 14 12 0 ' % machine.position()[0]
|
||||
arg += u'"Position E :" 3 29 "%s" 3 42 12 0 ' % machine.position()[1]
|
||||
arg += u'"Nvram (la valeur none supprime la variable) :" 4 1 "%s" 5 1 50 0 ' % ', '.join(machine.nvram())
|
||||
|
||||
# Affichage
|
||||
annul, result = dialog(arg)
|
||||
if annul: return 1
|
||||
|
||||
# Traitement
|
||||
err = ''
|
||||
try: machine.canal(result[0])
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
try: machine.puissance(result[1])
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
try: machine.position((result[2].strip(),result[3].strip()))
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
try:
|
||||
for nvram in result[4].split(','):
|
||||
if len(nvram.strip()): #On évite les variables vides
|
||||
if not '=' in nvram:
|
||||
err += "Une variable nvram doit etre de la forme : 'variable=valeur'\n"
|
||||
else :
|
||||
variable = nvram.split('=')[0].strip()
|
||||
valeur = nvram.split('=')[1].strip()
|
||||
if valeur.lower() == "none":
|
||||
valeur=None
|
||||
machine.nvram(variable, valeur)
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
# Des erreurs ?
|
||||
if err:
|
||||
arg = u'--title "Paramètres machine wifi" '
|
||||
arg += u'--msgbox "%s\n\n" 0 0' % err
|
||||
dialog(arg)
|
||||
# On redemande
|
||||
return set_wifi(machine)
|
||||
|
||||
if machine.modifs and confirm(machine):
|
||||
return set_wifi(machine)
|
||||
|
||||
def set_machine(machine):
|
||||
"""
|
||||
Définition des paramètres d'une machine :
|
||||
|
@ -1147,8 +1210,6 @@ def set_machine(machine):
|
|||
* Adresse MAC
|
||||
* IP
|
||||
* ports ouverts si adm
|
||||
* Remarque
|
||||
Si borne wifi demande aussi canal et puissance
|
||||
"""
|
||||
if machine.proprietaire().__class__ == AssociationCrans:
|
||||
if not isadm:
|
||||
|
@ -1174,21 +1235,16 @@ def set_machine(machine):
|
|||
arg += u'"PortsTCP machine->ext :" 5 1 "%s" 5 25 50 0 ' % ' '.join(machine.portTCPout())
|
||||
arg += u'"PortsUDP ext->machine :" 6 1 "%s" 6 25 50 0 ' % ' '.join(machine.portUDPin())
|
||||
arg += u'"PortsUDP machine->ext :" 7 1 "%s" 7 25 50 0 ' % ' '.join(machine.portUDPout())
|
||||
if isinstance(machine, BorneWifi) and isadm:
|
||||
# Borne wifi
|
||||
p = u'Mettre le lieu de la borne comme première remarque.'
|
||||
arg += u'"Canaux :" 2 35 "%s" 2 43 14 0 ' % machine.canal(None, False)
|
||||
arg += u'"Puissance :" 3 35 "%s" 3 47 4 0 ' % machine.puissance()
|
||||
if isadm and machine.proprietaire().__class__ == AssociationCrans:
|
||||
arg += u'"Prise :" 8 1 "%s" 8 9 5 0 ' % machine.prise()
|
||||
|
||||
else:
|
||||
p = u'Pour ajouter une remarque modifier la dernière de la liste.'
|
||||
|
||||
|
||||
# Affichage
|
||||
annul, result = dialog(arg)
|
||||
if annul: return 1
|
||||
|
||||
|
||||
# Traitement
|
||||
err = ''
|
||||
try: machine.nom(result[0])
|
||||
|
@ -1226,12 +1282,6 @@ def set_machine(machine):
|
|||
machine.portUDPout(result[6].split())
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
|
||||
if isadm and isinstance(machine, BorneWifi):
|
||||
try: machine.canal(result[7])
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
try: machine.puissance(result[8])
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
|
||||
if isadm and machine.proprietaire().__class__ == AssociationCrans:
|
||||
try: machine.prise(result[-1])
|
||||
except ValueError, c: err += c.args[0] + '\n'
|
||||
|
@ -1509,6 +1559,11 @@ def modif_machine(machine):
|
|||
arg += u'"Alias" "Créer ou supprimer un alias de la machine" '
|
||||
arg += u'"Exemptions" "Modifier la liste d\'exemption d\'upload de la machine" '
|
||||
arg += u'"Remarques" "Ajouter ou supprimer une remarque de la machine" '
|
||||
if isinstance(machine, BorneWifi) and isadm:
|
||||
# Borne wifi
|
||||
arg += u'"Wifi" "Modifier les paramètres spécifiques aux bornes wifi" '
|
||||
|
||||
|
||||
|
||||
annul, res = dialog(arg)
|
||||
|
||||
|
@ -1525,6 +1580,8 @@ def modif_machine(machine):
|
|||
set_machine_exemption(machine)
|
||||
elif res[0] == 'Remarques':
|
||||
set_rque(machine)
|
||||
elif res[0] == 'Wifi':
|
||||
set_wifi(machine)
|
||||
if machine.modifs:
|
||||
return confirm(machine)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue