diff --git a/wiki/macro/InfosBornes.py b/wiki/macro/InfosBornes.py new file mode 100755 index 00000000..a406130c --- /dev/null +++ b/wiki/macro/InfosBornes.py @@ -0,0 +1,74 @@ +#! /usr/bin/env python +# -*- encoding: iso-8859-15 -*- + +# Génération d'un fichier XML indiquant le status des bornes + +import sys +import os +import time, urllib2 +import xml.dom.minidom + +def execute(macro, text): + f=macro.formatter + + # ouverture du fichier d'info et parsage + try: + #os.putenv("http_proxy", "http://proxy.crans.org:3128") + status=xml.dom.minidom.parseString(urllib2.urlopen("https://wifi.crans.org/status.xml").read()) + except: + return f.text(u"Impossible d'accéder aux informations des bornes") + + # On récupère l'ensemble des bornes + bornes = status.childNodes[0] + code = f.text(u"Mise à jour le "+bornes.getAttribute("date")) + code += f.linebreak(0) + + code += f.table(1) + + code += f.table_row(1) + for nom_col in [u"nom",u"hotspot",u"up",u"description",u"clients",u"mac wifi",u"canal",u"uptime",u"x",u"y"]: + code += f.table_cell(1) + code += f.text(nom_col) + code += f.table_cell(0) + code += f.table_row(0) + + + for b in bornes.childNodes: + code += f.table_row(1) + + code += f.table_cell(1) + code += f.text(b.getAttribute(u"nom")) + code += f.table_cell(0) + + dico={u"hotspot" : {u"1" : u"+" , u"0" : u""}, + u"up" : {u"1" : u"" , u"0": u"!"}} + + for nom_attribut in [u"hotspot",u"up"]: + code += f.table_cell(1) + code += f.text(dico[nom_attribut][b.getAttribute(nom_attribut)]) + code += f.table_cell(0) + + for tag in [u'description', u"clients",u"mac",u"canal",u"uptime"]: + code += f.table_cell(1) + if (b.getElementsByTagName(tag)!=[]): + code += f.text(b.getElementsByTagName(tag)[0].firstChild.data) + else: + code += f.text(u"") + code += f.table_cell(0) + if (b.getElementsByTagName(u"position")!=[]): + for nom_attribut in [u'x',u'y']: + code += f.table_cell(1) + code += f.text(b.getElementsByTagName(u"position")[0].getAttribute(nom_attribut)) + code += f.table_cell(0) + else: + code += f.table_cell(1) + code += f.text(u"") + code += f.table_cell(0) + code += f.table_cell(1) + code += f.text(u"") + code += f.table_cell(0) + + code += f.table_row(0) + + code += f.table(0) + return code