From e5187bc5ed9904e0fbe90fe4536d2d0258c691a1 Mon Sep 17 00:00:00 2001 From: Florent Date: Wed, 19 Mar 2014 17:50:57 +0100 Subject: [PATCH] Simplify parse function --- modules/dresdenwetter/pages.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/modules/dresdenwetter/pages.py b/modules/dresdenwetter/pages.py index e6a7c106..f43e1634 100644 --- a/modules/dresdenwetter/pages.py +++ b/modules/dresdenwetter/pages.py @@ -37,8 +37,6 @@ class StartPage(HTMLPage): obj_name = Regexp(CleanText('.'), '(.*?) {0,}: .*', "\\1") obj_id = CleanText(Regexp(Field('name'), '(.*)', "dd-\\1"), " .():") - obj_unit = Env('unit') - obj_lastvalue = Env('lastvalue') obj_gaugeid = u"wetter" obj_forecast = NotAvailable @@ -49,13 +47,16 @@ class StartPage(HTMLPage): else: value = text.split(':')[-1].split()[0] unit = text.split(':')[-1].split(None, 1)[1] - return value, unit + return [value, unit] + + def obj_lastvalue(self): + lastvalue = GaugeMeasure() + lastvalue.level = float(Env('parse')(self)[0]) + lastvalue.alarm = NotAvailable + return lastvalue + + def obj_unit(self): + return Env('parse')(self)[1] def parse(self, el): - text = CleanText(el)(self) - - level, self.env['unit'] = self.split_unit(text) - lastvalue = GaugeMeasure() - lastvalue.level = float(level) - lastvalue.alarm = NotAvailable - self.env['lastvalue'] = lastvalue + self.env['parse'] = self.split_unit(CleanText(el)(self))