Detabification massive.
darcs-hash:20051018083823-d1718-09c2df38cfb707d3c3679188b9b9a812009f4f7c.gz
This commit is contained in:
parent
3c54fb2904
commit
37b21339a6
40 changed files with 1473 additions and 1473 deletions
|
@ -170,164 +170,164 @@ class autostatus(gen_config) :
|
|||
# FIN DE LA CONFIGURATION
|
||||
|
||||
def __str__ (self) :
|
||||
return "autostatus"
|
||||
return "autostatus"
|
||||
|
||||
def make_config (self, dico ) :
|
||||
"""
|
||||
Transforme le dico en suite lignes de configuration
|
||||
"""
|
||||
liste = dico.keys()
|
||||
liste.sort()
|
||||
append = ""
|
||||
for i in liste :
|
||||
append = append + " ".join( dico[i] ) + "\n"
|
||||
return append.encode('iso-8859-15')
|
||||
"""
|
||||
Transforme le dico en suite lignes de configuration
|
||||
"""
|
||||
liste = dico.keys()
|
||||
liste.sort()
|
||||
append = ""
|
||||
for i in liste :
|
||||
append = append + " ".join( dico[i] ) + "\n"
|
||||
return append.encode('iso-8859-15')
|
||||
|
||||
def mail_contact (self, nom) :
|
||||
# retourne le mail à qui envoyer les avis pour un serveur
|
||||
if nom in self.contact.keys() :
|
||||
return self.contact[nom]
|
||||
else :
|
||||
return 'nobody'
|
||||
|
||||
# retourne le mail à qui envoyer les avis pour un serveur
|
||||
if nom in self.contact.keys() :
|
||||
return self.contact[nom]
|
||||
else :
|
||||
return 'nobody'
|
||||
|
||||
def _gen (self) :
|
||||
|
||||
# machines crans
|
||||
################
|
||||
|
||||
machines = crans().machines()
|
||||
|
||||
# tri des machines par type
|
||||
bornes = {}
|
||||
switchs = {}
|
||||
serveurs = {}
|
||||
ferme = {}
|
||||
# machines crans
|
||||
################
|
||||
|
||||
machines = crans().machines()
|
||||
|
||||
# tri des machines par type
|
||||
bornes = {}
|
||||
switchs = {}
|
||||
serveurs = {}
|
||||
ferme = {}
|
||||
|
||||
# tri des machines
|
||||
for m in machines :
|
||||
# tri des machines
|
||||
for m in machines :
|
||||
|
||||
# machine exclue
|
||||
if m.nom() in self.exclude :
|
||||
continue
|
||||
|
||||
# les bornes
|
||||
if m.canal() :
|
||||
# C'est une borne
|
||||
if m.info() :
|
||||
# on regarde si c'est une borne de batiment
|
||||
if ( m.info()[0][0:3] == "Au " ) and ( len(m.info()[0]) == 5 ) :
|
||||
bornes[ "1-" + m.info()[0][4]+m.info()[0][3] + "-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
|
||||
else :
|
||||
bornes[ "2-" + m.info()[0] + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
|
||||
else :
|
||||
# on met les bornes non définies à la fin (ordre alphabétique)
|
||||
bornes[ "3-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Inutilise' ]
|
||||
# machine exclue
|
||||
if m.nom() in self.exclude :
|
||||
continue
|
||||
|
||||
# les bornes
|
||||
if m.canal() :
|
||||
# C'est une borne
|
||||
if m.info() :
|
||||
# on regarde si c'est une borne de batiment
|
||||
if ( m.info()[0][0:3] == "Au " ) and ( len(m.info()[0]) == 5 ) :
|
||||
bornes[ "1-" + m.info()[0][4]+m.info()[0][3] + "-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
|
||||
else :
|
||||
bornes[ "2-" + m.info()[0] + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
|
||||
else :
|
||||
# on met les bornes non définies à la fin (ordre alphabétique)
|
||||
bornes[ "3-" + m.nom() ] = [ m.nom().split(".")[0] , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Inutilise' ]
|
||||
|
||||
# les switchs
|
||||
elif m.info() and 'switch' in m.info()[0].lower() :
|
||||
# les switchs
|
||||
elif m.info() and 'switch' in m.info()[0].lower() :
|
||||
|
||||
# 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()) , m.info()[0] ]
|
||||
# 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()) , m.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]
|
||||
if m.info() :
|
||||
serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
|
||||
else :
|
||||
serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Infos non disponibles' ]
|
||||
|
||||
# route vers l'extérieur
|
||||
########################
|
||||
|
||||
# on récupère la route vers l'extérieur
|
||||
traceroute = commands.getoutput("/usr/bin/traceroute www.free.fr 2> /dev/null | sed 's/\*//g' | sed 's/ */ /g' | sed 's/^ //g' | sed 's/[(,)]//g' | cut -d ' ' -f 2,3").split("\n")
|
||||
|
||||
# initialisation des variables
|
||||
in_renater = 0
|
||||
route_to_ext = ''
|
||||
depends_to_ext = ''
|
||||
|
||||
for routeur in traceroute :
|
||||
|
||||
# on commence à rentrer dans la chaine des routeurs renater
|
||||
if 'renater.fr' in routeur :
|
||||
in_renater = 1
|
||||
|
||||
# on est plus dans les routeurs renater donc on arrête
|
||||
if in_renater and not 'renater.fr' in routeur :
|
||||
continue
|
||||
|
||||
# ajout du routeur
|
||||
|
||||
# ip
|
||||
tmp_ip = routeur.split(' ')[1]
|
||||
|
||||
# nom & desciption
|
||||
if routeur.split(' ')[1] in self.infos_routeurs.keys() :
|
||||
tmp_name = self.infos_routeurs[tmp_ip][0]
|
||||
tmp_desc = self.infos_routeurs[tmp_ip][1]
|
||||
else :
|
||||
tmp_name = routeur.split(' ')[0].split('.')[0]
|
||||
tmp_desc = 'Pas de description'
|
||||
|
||||
# dépendances
|
||||
if not depends_to_ext :
|
||||
tmp_depends = 'none'
|
||||
depends_to_ext = tmp_name
|
||||
else :
|
||||
tmp_depends = depends_to_ext
|
||||
depends_to_ext += ',' + tmp_name
|
||||
|
||||
# on l'ajoute à la route
|
||||
if route_to_ext :
|
||||
route_to_ext += '\n'
|
||||
route_to_ext += '%s %s %s %s %s' % (tmp_name, tmp_ip, tmp_depends,self.mail_contact(tmp_name),tmp_desc)
|
||||
# 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]
|
||||
if m.info() :
|
||||
serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , m.info()[0] ]
|
||||
else :
|
||||
serveurs[ nom ] = [ nom , m.nom() , 'none' , self.mail_contact(m.nom()) , 'Infos non disponibles' ]
|
||||
|
||||
# route vers l'extérieur
|
||||
########################
|
||||
|
||||
# on récupère la route vers l'extérieur
|
||||
traceroute = commands.getoutput("/usr/bin/traceroute www.free.fr 2> /dev/null | sed 's/\*//g' | sed 's/ */ /g' | sed 's/^ //g' | sed 's/[(,)]//g' | cut -d ' ' -f 2,3").split("\n")
|
||||
|
||||
# initialisation des variables
|
||||
in_renater = 0
|
||||
route_to_ext = ''
|
||||
depends_to_ext = ''
|
||||
|
||||
for routeur in traceroute :
|
||||
|
||||
# on commence à rentrer dans la chaine des routeurs renater
|
||||
if 'renater.fr' in routeur :
|
||||
in_renater = 1
|
||||
|
||||
# on est plus dans les routeurs renater donc on arrête
|
||||
if in_renater and not 'renater.fr' in routeur :
|
||||
continue
|
||||
|
||||
# ajout du routeur
|
||||
|
||||
# ip
|
||||
tmp_ip = routeur.split(' ')[1]
|
||||
|
||||
# nom & desciption
|
||||
if routeur.split(' ')[1] in self.infos_routeurs.keys() :
|
||||
tmp_name = self.infos_routeurs[tmp_ip][0]
|
||||
tmp_desc = self.infos_routeurs[tmp_ip][1]
|
||||
else :
|
||||
tmp_name = routeur.split(' ')[0].split('.')[0]
|
||||
tmp_desc = 'Pas de description'
|
||||
|
||||
# dépendances
|
||||
if not depends_to_ext :
|
||||
tmp_depends = 'none'
|
||||
depends_to_ext = tmp_name
|
||||
else :
|
||||
tmp_depends = depends_to_ext
|
||||
depends_to_ext += ',' + tmp_name
|
||||
|
||||
# on l'ajoute à la route
|
||||
if route_to_ext :
|
||||
route_to_ext += '\n'
|
||||
route_to_ext += '%s %s %s %s %s' % (tmp_name, tmp_ip, tmp_depends,self.mail_contact(tmp_name),tmp_desc)
|
||||
|
||||
# services extérieurs
|
||||
#####################
|
||||
|
||||
services_exterieurs = {}
|
||||
for key in self.services_exterieurs.keys() :
|
||||
s = self.services_exterieurs[key]
|
||||
if s[2] :
|
||||
services_exterieurs[ key ] = [ s[0] + ':' + str(s[2]), s[1] , depends_to_ext, s[4] , s[3] ]
|
||||
else :
|
||||
services_exterieurs[ key ] = [ s[0] , s[1] , depends_to_ext, s[4] , s[3] ]
|
||||
# services extérieurs
|
||||
#####################
|
||||
|
||||
services_exterieurs = {}
|
||||
for key in self.services_exterieurs.keys() :
|
||||
s = self.services_exterieurs[key]
|
||||
if s[2] :
|
||||
services_exterieurs[ key ] = [ s[0] + ':' + str(s[2]), s[1] , depends_to_ext, s[4] , s[3] ]
|
||||
else :
|
||||
services_exterieurs[ key ] = [ s[0] , s[1] , depends_to_ext, s[4] , s[3] ]
|
||||
|
||||
# génération du fichier
|
||||
#######################
|
||||
|
||||
file = self._open_conf(self.CONFFILE, "#")
|
||||
|
||||
# génère le dictionnaire pour les modifications
|
||||
dico = {}
|
||||
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.encode('iso-8859-15')
|
||||
dico['exterieur'] = self.make_config(services_exterieurs)
|
||||
|
||||
# on écrit dans le fichier de configuration
|
||||
file.write( self.matrice % dico )
|
||||
|
||||
# on ferme le fichier
|
||||
file.close()
|
||||
# génération du fichier
|
||||
#######################
|
||||
|
||||
file = self._open_conf(self.CONFFILE, "#")
|
||||
|
||||
# génère le dictionnaire pour les modifications
|
||||
dico = {}
|
||||
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.encode('iso-8859-15')
|
||||
dico['exterieur'] = self.make_config(services_exterieurs)
|
||||
|
||||
# on écrit dans le fichier de configuration
|
||||
file.write( self.matrice % dico )
|
||||
|
||||
# on ferme le fichier
|
||||
file.close()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue