diff --git a/modules/sachsen/backend.py b/modules/sachsen/backend.py index 968dda32..4a937313 100644 --- a/modules/sachsen/backend.py +++ b/modules/sachsen/backend.py @@ -21,7 +21,7 @@ from __future__ import with_statement from .browser import SachsenBrowser -from weboob.capabilities.gauge import ICapGauge, GaugeSensor, Gauge +from weboob.capabilities.gauge import ICapGauge, GaugeSensor, Gauge, SensorNotFound from weboob.tools.backend import BaseBackend @@ -75,9 +75,13 @@ 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 diff --git a/weboob/capabilities/gauge.py b/weboob/capabilities/gauge.py index f33f3de4..8378fd02 100644 --- a/weboob/capabilities/gauge.py +++ b/weboob/capabilities/gauge.py @@ -18,10 +18,16 @@ # along with weboob. If not, see . -from .base import IBaseCap, CapBaseObject, StringField, FloatField, DateField, Field +from .base import IBaseCap, CapBaseObject, StringField, FloatField, DateField, Field, UserError -__all__ = ['Gauge', 'GaugeSensor', 'GaugeMeasure', 'ICapGauge'] +__all__ = ['Gauge', 'GaugeSensor', 'GaugeMeasure', 'ICapGauge', 'SensorNotFound'] + + +class SensorNotFound(UserError): + """ + Not found a sensor + """ class Gauge(CapBaseObject):