From cc68ffcfe2322a26c70e42c747e7b8ef5290e4a8 Mon Sep 17 00:00:00 2001 From: Florent Date: Tue, 18 Mar 2014 16:28:04 +0100 Subject: [PATCH] Use more tools of browser2 in dresdenwetter (2/2) --- modules/dresdenwetter/pages.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) 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)