diff --git a/modules/sachsen/backend.py b/modules/sachsen/backend.py index 97b02573..b3e7a924 100644 --- a/modules/sachsen/backend.py +++ b/modules/sachsen/backend.py @@ -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