Use find_id_list in sachsen module

This commit is contained in:
Florent 2014-04-01 17:48:30 +02:00
commit ae616bbb5b

View file

@ -20,6 +20,7 @@
from .browser import SachsenBrowser
from weboob.capabilities.gauge import ICapGauge, GaugeSensor, Gauge,\
SensorNotFound
from weboob.capabilities.base import find_id_list
from weboob.tools.backend import BaseBackend
@ -37,8 +38,7 @@ class SachsenLevelBackend(BaseBackend, ICapGauge):
def iter_gauges(self, pattern=None):
if pattern is None:
for gauge in self.browser.get_rivers_list():
yield gauge
return self.browser.get_rivers_list()
else:
lowpattern = pattern.lower()
for gauge in self.browser.get_rivers_list():
@ -46,24 +46,16 @@ class SachsenLevelBackend(BaseBackend, ICapGauge):
or lowpattern in gauge.object.lower():
yield gauge
def _get_gauge_by_id(self, id):
for gauge in self.browser.get_rivers_list():
if id == gauge.id:
return gauge
return None
def _get_sensor_by_id(self, id):
for gauge in self.browser.get_rivers_list():
for sensor in gauge.sensors:
if id == sensor.id:
return sensor
return None
raise SensorNotFound()
def iter_sensors(self, gauge, pattern=None):
if not isinstance(gauge, Gauge):
gauge = self._get_gauge_by_id(gauge)
if gauge is None:
raise SensorNotFound()
gauge = find_id_list(self.browser.get_rivers_list(), _id, error=SensorNotFound)
if pattern is None:
for sensor in gauge.sensors:
yield sensor
@ -76,13 +68,9 @@ class SachsenLevelBackend(BaseBackend, ICapGauge):
def iter_gauge_history(self, sensor):
if not isinstance(sensor, GaugeSensor):
sensor = self._get_sensor_by_id(sensor)
if sensor is None:
raise SensorNotFound()
return self.browser.iter_history(sensor)
def get_last_measure(self, sensor):
if not isinstance(sensor, GaugeSensor):
sensor = self._get_sensor_by_id(sensor)
if sensor is None:
raise SensorNotFound()
return sensor.lastvalue