scripts/wiki/macro/InfosBornes.py
bobot f78f6c7200 Continue le polissage
darcs-hash:20060425220942-9e428-19921f1236ad87b2a1b008ca1d0d4569d6067d80.gz
2006-04-26 00:09:42 +02:00

84 lines
2.7 KiB
Python
Executable file

#! /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"état",u"description",u"clients",u"mac wifi",u"canal",u"uptime",u"x GPS",u"y GPS"]:
code += f.table_cell(1)
code += f.strong(1)
code += f.text(nom_col)
code += f.strong(0)
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"marche" , u"0": u"éteint"}}
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"]:
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)
code += f.table_cell(1)
if (b.getElementsByTagName(u"uptime")!=[]):
code += f.text("%.2f" % float(b.getElementsByTagName(u"uptime")[0].firstChild.data)+" j")
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