Use find_id_list
This commit is contained in:
parent
ae616bbb5b
commit
4d5bb9c3a5
1 changed files with 3 additions and 10 deletions
|
|
@ -21,6 +21,7 @@
|
||||||
from .browser import DresdenWetterBrowser
|
from .browser import DresdenWetterBrowser
|
||||||
from weboob.capabilities.gauge import ICapGauge, GaugeSensor, Gauge,\
|
from weboob.capabilities.gauge import ICapGauge, GaugeSensor, Gauge,\
|
||||||
SensorNotFound
|
SensorNotFound
|
||||||
|
from weboob.capabilities.base import find_id_list
|
||||||
from weboob.tools.backend import BaseBackend
|
from weboob.tools.backend import BaseBackend
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -46,22 +47,16 @@ class DresdenWetterBackend(BaseBackend, ICapGauge):
|
||||||
gauge.sensors = list(self.browser.get_sensors_list())
|
gauge.sensors = list(self.browser.get_sensors_list())
|
||||||
yield gauge
|
yield gauge
|
||||||
|
|
||||||
def _get_gauge_by_id(self, id):
|
|
||||||
for gauge in self.iter_gauges():
|
|
||||||
if id == gauge.id:
|
|
||||||
return gauge
|
|
||||||
return None
|
|
||||||
|
|
||||||
def _get_sensor_by_id(self, id):
|
def _get_sensor_by_id(self, id):
|
||||||
for gauge in self.iter_gauges():
|
for gauge in self.iter_gauges():
|
||||||
for sensor in gauge.sensors:
|
for sensor in gauge.sensors:
|
||||||
if id == sensor.id:
|
if id == sensor.id:
|
||||||
return sensor
|
return sensor
|
||||||
return None
|
raise SensorNotFound()
|
||||||
|
|
||||||
def iter_sensors(self, gauge, pattern=None):
|
def iter_sensors(self, gauge, pattern=None):
|
||||||
if not isinstance(gauge, Gauge):
|
if not isinstance(gauge, Gauge):
|
||||||
gauge = self._get_gauge_by_id(gauge)
|
gauge = find_id_list(self.iter_gauges(), gauge, error=SensorNotFound)
|
||||||
if pattern is None:
|
if pattern is None:
|
||||||
for sensor in gauge.sensors:
|
for sensor in gauge.sensors:
|
||||||
yield sensor
|
yield sensor
|
||||||
|
|
@ -78,6 +73,4 @@ class DresdenWetterBackend(BaseBackend, ICapGauge):
|
||||||
def get_last_measure(self, sensor):
|
def get_last_measure(self, sensor):
|
||||||
if not isinstance(sensor, GaugeSensor):
|
if not isinstance(sensor, GaugeSensor):
|
||||||
sensor = self._get_sensor_by_id(sensor)
|
sensor = self._get_sensor_by_id(sensor)
|
||||||
if sensor is None:
|
|
||||||
raise SensorNotFound()
|
|
||||||
return sensor.lastvalue
|
return sensor.lastvalue
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue