Ca marche

darcs-hash:20070521184444-c992d-9cd4ef41bd31b10a7d2a54598c049ed4d1e4b83c.gz
This commit is contained in:
bos 2007-05-21 20:44:44 +02:00
parent 961663c979
commit ddf12f6a1a

View file

@ -10,26 +10,29 @@ Licence : GPLv2
from config import NETs
from iptools import AddrInNet
noms_fichiers = {
'ip_fil' : '/usr/scripts/var/numeros_disponibles/ip_fixes',
'ip_wifi-adh' : '/usr/scripts/var/numeros_disponibles/ip_wifi-adh'
}
from iptools import AddrInNet
repertoire = '/usr/scripts/var/numeros_disponibles/'
def lister_ip_dispo(plage):
f = open(repertoire + 'ip_' + plage)
lignes = f.readlines()
liste = []
for l in lignes:
liste.append(l.strip())
return liste
def lister_ip_utilisees():
liste = []
from ldap_crans import crans_ldap
db = crans_ldap()
r = db.search('mid=*')
machines = r['machineFixe'] + r['machineWifi'] + r['machineCrans']
machines = r['machineFixe'] + r['machineWifi'] + r['machineCrans'] + r['borneWifi']
for m in machines:
liste.append(m.ip())
return liste
def _update_ip(plage, fichier, occupees):
def update_ip(plage, occupees):
net = NETs[plage]
pool_ip = [] # Pool d'IP à tester
for ne in net:
@ -57,17 +60,17 @@ def _update_ip(plage, fichier, occupees):
if ip not in occupees :
resultat += '%s\n' % ip
f = open(noms_fichiers[fichier],'w')
f = open(repertoire + 'ip_' + plage,'w')
f.write(resultat)
f.close
def update_ip_fixe(occupees):
_update_ip('fil', 'ip_fil', occupees)
update_ip('fil', 'ip_fil', occupees)
def update_ip_wifi_adh(occupees):
_update_ip('wifi-adh','ip_wifi-adh', occupees)
update_ip('wifi-adh','ip_wifi-adh', occupees)
if __name__ == "__main__":
occupees = lister_ip_utilisees()
update_ip_fixe(occupees)
update_ip_wifi_adh(occupees)
ip_occupees = lister_ip_utilisees()
for net in NETs.keys():
update_ip(net, ip_occupees)