Get alarm level
And list gauges without data
This commit is contained in:
parent
4f7a2b88f0
commit
c3c06a0e6f
1 changed files with 34 additions and 27 deletions
|
|
@ -21,14 +21,20 @@ from datetime import datetime, date, time
|
||||||
from weboob.tools.browser import BasePage
|
from weboob.tools.browser import BasePage
|
||||||
from weboob.capabilities.gauge import Gauge, GaugeMeasure, GaugeSensor
|
from weboob.capabilities.gauge import Gauge, GaugeMeasure, GaugeSensor
|
||||||
from weboob.capabilities.base import NotAvailable, NotLoaded
|
from weboob.capabilities.base import NotAvailable, NotLoaded
|
||||||
|
from weboob.capabilities.base import NotAvailable
|
||||||
|
|
||||||
__all__ = ['ListPage', 'HistoryPage']
|
__all__ = ['ListPage', 'HistoryPage']
|
||||||
|
|
||||||
|
|
||||||
class ListPage(BasePage):
|
class ListPage(BasePage):
|
||||||
|
alarmlevel = {"as1.gif": u"Alarmstufe 1", "as2.gif": u"Alarmstufe 2", \
|
||||||
|
"as3.gif": u"Alarmstufe 3", "as4.gig": u"Alarmstufe 4", \
|
||||||
|
"qua_grau.gif": u"No alarm function", "p_gruen.gif": u"", \
|
||||||
|
"qua_weiss.gif": u"no data"}
|
||||||
def get_rivers_list(self):
|
def get_rivers_list(self):
|
||||||
for pegel in self.document.getroot().xpath(".//a[@onmouseout='pegelaus()']"):
|
for pegel in self.document.getroot().xpath(".//a[@onmouseout='pegelaus()']"):
|
||||||
|
div = pegel.getparent()
|
||||||
|
img = div.find('.//img').attrib['src'].split('/')[1]
|
||||||
data = pegel.attrib['onmouseover'].strip('pegelein(').strip(')').replace(",'", ",").split("',")
|
data = pegel.attrib['onmouseover'].strip('pegelein(').strip(')').replace(",'", ",").split("',")
|
||||||
gauge = Gauge(int(data[7]))
|
gauge = Gauge(int(data[7]))
|
||||||
gauge.name = unicode(data[0].strip("'"))
|
gauge.name = unicode(data[0].strip("'"))
|
||||||
|
|
@ -55,36 +61,37 @@ class ListPage(BasePage):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
level = float(data[3])
|
level = float(data[3])
|
||||||
|
except:
|
||||||
|
level = NotAvailable
|
||||||
levelsensor = GaugeSensor(gauge.id + "-level")
|
levelsensor = GaugeSensor(gauge.id + "-level")
|
||||||
levelsensor.name = u"Level"
|
levelsensor.name = u"Level"
|
||||||
# TODO levelsensor.unit =
|
levelsensor.unit = u"cm"
|
||||||
levelsensor.forecast = forecast
|
levelsensor.forecast = forecast
|
||||||
lastvalue = GaugeMeasure()
|
lastvalue = GaugeMeasure()
|
||||||
lastvalue.level = level
|
lastvalue.level = level
|
||||||
lastvalue.date = lastdate
|
lastvalue.date = lastdate
|
||||||
# TODO lastvalue.alarm =
|
lastvalue.alarm = self.alarmlevel[img]
|
||||||
levelsensor.lastvalue = lastvalue
|
levelsensor.lastvalue = lastvalue
|
||||||
levelsensor.history = NotLoaded
|
levelsensor.history = NotLoaded
|
||||||
levelsensor.gaugeid = gauge.id
|
levelsensor.gaugeid = gauge.id
|
||||||
sensors.append(levelsensor)
|
sensors.append(levelsensor)
|
||||||
except:
|
|
||||||
pass
|
|
||||||
try:
|
try:
|
||||||
flow = float(data[4])
|
flow = float(data[4])
|
||||||
|
except:
|
||||||
|
flow = NotAvailable
|
||||||
flowsensor = GaugeSensor(gauge.id + "-flow")
|
flowsensor = GaugeSensor(gauge.id + "-flow")
|
||||||
flowsensor.name = u"Flow"
|
flowsensor.name = u"Flow"
|
||||||
# TODO flowsensor.unit =
|
flowsensor.unit = u"m3/s"
|
||||||
flowsensor.forecast = forecast
|
flowsensor.forecast = forecast
|
||||||
lastvalue = GaugeMeasure()
|
lastvalue = GaugeMeasure()
|
||||||
lastvalue.level = flow
|
lastvalue.level = flow
|
||||||
lastvalue.date = lastdate
|
lastvalue.date = lastdate
|
||||||
# TODO lastvalue.alarm =
|
lastvalue.alarm = self.alarmlevel[img]
|
||||||
flowsensor.lastvalue = lastvalue
|
flowsensor.lastvalue = lastvalue
|
||||||
flowsensor.history = NotLoaded
|
flowsensor.history = NotLoaded
|
||||||
flowsensor.gaugeid = gauge.id
|
flowsensor.gaugeid = gauge.id
|
||||||
sensors.append(flowsensor)
|
sensors.append(flowsensor)
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
gauge.sensors = sensors
|
gauge.sensors = sensors
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue