diff --git a/modules/sachsen/backend.py b/modules/sachsen/backend.py index 968dda32f58b9464d90cfd9dd68b00c38b22f65b..4a937313274846f8b15cfb26f59cf4aabf127625 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 @@ def iter_sensors(self, gauge, pattern=None): 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 f33f3de465587b2adaf7379d5020c2ef656b6e5d..8378fd02aca13c499ab24e921d4538dc374c8017 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):