From ddf12f6a1ac7567e4d9b9c50c94978179553a79a Mon Sep 17 00:00:00 2001 From: bos Date: Mon, 21 May 2007 20:44:44 +0200 Subject: [PATCH] Ca marche darcs-hash:20070521184444-c992d-9cd4ef41bd31b10a7d2a54598c049ed4d1e4b83c.gz --- gestion/numeros_disponibles.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/gestion/numeros_disponibles.py b/gestion/numeros_disponibles.py index d380c113..1af7d341 100755 --- a/gestion/numeros_disponibles.py +++ b/gestion/numeros_disponibles.py @@ -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)