diff --git a/modules/dresdenwetter/pages.py b/modules/dresdenwetter/pages.py index 7abd69a3..1a03c8ec 100644 --- a/modules/dresdenwetter/pages.py +++ b/modules/dresdenwetter/pages.py @@ -18,7 +18,7 @@ # along with weboob. If not, see . from weboob.tools.browser2.page import HTMLPage, method, ListElement, ItemElement -from weboob.tools.browser2.filters import CleanText, Env +from weboob.tools.browser2.filters import CleanText, Env, Regexp, Attr, CleanChars from weboob.capabilities.gauge import GaugeMeasure, GaugeSensor from weboob.capabilities.base import NotAvailable @@ -35,20 +35,13 @@ class StartPage(HTMLPage): class item(ItemElement): klass = GaugeSensor - obj_name = Env('name') - obj_id = Env('id') + obj_name = Regexp(CleanText('.'), '(.*?) {0,}: .*', "\\1") + obj_id = CleanChars(Regexp(Attr('name'), '(.*)', "dd-\\1"), " .():") obj_unit = Env('unit') obj_lastvalue = Env('lastvalue') obj_gaugeid = u"wetter" obj_forecast = NotAvailable - - def get_name(self, text): - if u"Niederschlag" not in text: - return text.split(':')[0].strip() - else: - return text.split()[0] - def split_unit(self, text): if u"Temperatur" in text: value = text.split(': ')[1].split(u'°')[0] @@ -61,12 +54,6 @@ class StartPage(HTMLPage): def parse(self, el): text = CleanText(el)(self) - name = self.get_name(text) - _id = u"dd-%s" % name - - self.env['name'] = name - self.env['id'] = _id - level, self.env['unit'] = self.split_unit(text) lastvalue = GaugeMeasure() lastvalue.level = float(level)