Commit c5af2838 authored by Gabriel Detraz's avatar Gabriel Detraz

Remove plein de code inutile + répare autostatus sw + remove ldap_crans

parent f14394f7
......@@ -9,9 +9,11 @@ Utilisé par generate.py
import sys, os, commands
sys.path.append('/usr/scripts/gestion')
from ldap_crans import AssociationCrans, BorneWifi
from lc_ldap import shortcuts
from gen_confs import gen_config
ldap = shortcuts.lc_ldap_readonly()
# définition de la classe
def inform(string):
......@@ -45,13 +47,6 @@ class autostatus(gen_config) :
%(serveurs)s
# ferme #
#########
%%HTML: <TR> <TD class=table colSpan=3><p></TD></TR> <TR><td colspan=3 class="table"><font size="+1"><B>La ferme, diffusion de la télé :</font></b></TR>
%(ferme)s
# switchs #
###########
......@@ -130,73 +125,28 @@ class autostatus(gen_config) :
# machines crans
################
inform(u"Récupération des machines du Cr@ns")
machines = AssociationCrans().machines()
# Quand un serveur est à la fois dans adm et dans autre chose,
# on garde que le autre chose
machines2 = machines
for m in machines:
if not m.nom().endswith(".adm.crans.org"):
for n in machines:
nom_adm = u"%s.adm.crans.org" % m.nom().split(".")[0]
if n.nom() == nom_adm:
machines2 = filter(lambda x: x.nom() != nom_adm, machines2)
machines = machines2
# tri des machines par type
bornes = {}
switchs = {}
serveurs = {}
ferme = {}
# tri des machines
serveur_list = ldap.search(u'(&(objectClass=machineCrans)(!(Statut=FALSE)))')
inform(u"tri des machines")
for m in machines :
info = m.info()
if m.statut() == "FALSE":
continue
info = filter(lambda i: not i.startswith(';'), info) + ['']
# les bornes
if isinstance(m, BorneWifi):
# C'est une borne
if info:
# on regarde si c'est une borne de batiment
if ( info[0][0:3] == "Au " ) and ( len(info[0]) == 5 ) :
bornes[ "1-" + info[0][4]+info[0][3] + "-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , info[0] ]
else :
bornes[ "2-" + info[0] + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , info[0] ]
else :
# on met les bornes non définies à la fin (ordre alphabétique)
# On ne les met pas, ça pollue l'autostatus
# bornes[ "3-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Inutilise' ]
pass
# les switchs
elif any('switch' in i.lower() for i in info):
# est ce que c'est un batiment
if 'bat' == m.nom()[0:3] :
index = '1-' + m.nom().split(".")[0]
else :
index = '0-' + m.nom().split(".")[0]
# on ajoute au dictionnaire
switchs[ index ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , info[0] ]
# la ferme
elif '.ferme.crans.org' in m.nom() :
nom = ".".join(m.nom().split(".")[0:2])
if m.info() :
ferme[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
else :
ferme[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Infos non disponibles' ]
# les serveurs
else :
if ".wifi.crans.org" in m.nom():
nom = m.nom().split(".")[0] + ".wifi"
else :
nom = m.nom().split(".")[0]
serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , info[0] ]
for serv in serveur_list:
nom = serv['host'][0].value
serveurs[nom.split(".")[0] ] = [ nom.split(".")[0] , nom, 'none' , self.mail_contact(nom) , ''.join(b.value for b in serv['info']) ]
wifi_list = ldap.search(u'(&(objectClass=BorneWifi)(!(Statut=FALSE)))')
for borne in wifi_list:
nom = borne['host'][0].value
bornes[nom.split(".")[0] ] = [ nom.split(".")[0] , nom, 'none' , self.mail_contact(nom) , ''.join(b.value for b in borne['info']) ]
switch_list = ldap.search(u'(&(objectClass=SwitchCrans)(!(Statut=FALSE)))')
for sw in switch_list:
nom = sw['host'][0].value
switchs[nom.split(".")[0] ] = [ nom.split(".")[0] , nom, 'none' , self.mail_contact(nom) , ''.join(b.value for b in sw['info']) ]
# route vers l'extérieur
########################
......@@ -270,7 +220,6 @@ class autostatus(gen_config) :
dico['switchs'] = self.make_config(switchs)
dico['bornes'] = self.make_config(bornes)
dico['serveurs'] = self.make_config(serveurs)
dico['ferme'] = self.make_config(ferme)
dico['route'] = route_to_ext
dico['exterieur'] = self.make_config(services_exterieurs)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment