Rename the filter Date to Datetime. Introduce Date
This commit is contained in:
parent
e1944d95f3
commit
e289fc6b8f
3 changed files with 13 additions and 6 deletions
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
from weboob.tools.browser import BrowserBanned
|
from weboob.tools.browser import BrowserBanned
|
||||||
from weboob.tools.browser2.page import HTMLPage, LoggedPage, method, ListElement, ItemElement
|
from weboob.tools.browser2.page import HTMLPage, LoggedPage, method, ListElement, ItemElement
|
||||||
from weboob.tools.browser2.filters import Env, CleanText, CleanDecimal, Field, Attr, Time, Date, Link, Format
|
from weboob.tools.browser2.filters import Env, CleanText, CleanDecimal, Field, Attr, Time, DateTime, Link, Format
|
||||||
from weboob.capabilities.bill import Subscription, Detail
|
from weboob.capabilities.bill import Subscription, Detail
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
@ -81,7 +81,7 @@ class HistoryPage(LoggedPage, HTMLPage):
|
||||||
klass = Detail
|
klass = Detail
|
||||||
|
|
||||||
obj_id = None
|
obj_id = None
|
||||||
obj_datetime = Date(CleanText('td[1] | td[2]'))
|
obj_datetime = DateTime(CleanText('td[1] | td[2]'))
|
||||||
obj_price = CleanDecimal('td[7]', replace_dots=False, default=0)
|
obj_price = CleanDecimal('td[7]', replace_dots=False, default=0)
|
||||||
obj_currency = u'EUR'
|
obj_currency = u'EUR'
|
||||||
obj_label = Format(u"%s from %s to %s - %s",
|
obj_label = Format(u"%s from %s to %s - %s",
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from weboob.tools.browser2.page import HTMLPage, method, ListElement, ItemElement
|
from weboob.tools.browser2.page import HTMLPage, method, ListElement, ItemElement
|
||||||
from weboob.tools.browser2.filters import Env, CleanText, Regexp, Field, Date, Map, Attr
|
from weboob.tools.browser2.filters import Env, CleanText, Regexp, Field, DateTime, Map, Attr
|
||||||
from weboob.capabilities.gauge import Gauge, GaugeMeasure, GaugeSensor
|
from weboob.capabilities.gauge import Gauge, GaugeMeasure, GaugeSensor
|
||||||
from weboob.capabilities.base import NotAvailable, NotLoaded
|
from weboob.capabilities.base import NotAvailable, NotLoaded
|
||||||
|
|
||||||
|
|
@ -87,7 +87,7 @@ class ListPage(HTMLPage):
|
||||||
def obj_sensors(self):
|
def obj_sensors(self):
|
||||||
sensors = []
|
sensors = []
|
||||||
|
|
||||||
lastdate = Date(Regexp(Env('datetime'), r'(\d+)\.(\d+)\.(\d+) (\d+):(\d+)', r'\3-\2-\1 \4:\5', default=NotAvailable))(self)
|
lastdate = DateTime(Regexp(Env('datetime'), r'(\d+)\.(\d+)\.(\d+) (\d+):(\d+)', r'\3-\2-\1 \4:\5', default=NotAvailable))(self)
|
||||||
forecast = Map(Env('forecast'), self.forecasts, default=NotAvailable)(self)
|
forecast = Map(Env('forecast'), self.forecasts, default=NotAvailable)(self)
|
||||||
alarm = Map(Env('alarm'), self.alarmlevel, default=u'')(self)
|
alarm = Map(Env('alarm'), self.alarmlevel, default=u'')(self)
|
||||||
|
|
||||||
|
|
@ -109,7 +109,7 @@ class HistoryPage(HTMLPage):
|
||||||
def condition(self):
|
def condition(self):
|
||||||
return self.verif.match(self.el[0].text_content())
|
return self.verif.match(self.el[0].text_content())
|
||||||
|
|
||||||
obj_date = Date(Regexp(CleanText('.'), r'(\d+)\.(\d+)\.(\d+) (\d+):(\d+)', r'\3-\2-\1 \4:\5'))
|
obj_date = DateTime(Regexp(CleanText('.'), r'(\d+)\.(\d+)\.(\d+) (\d+):(\d+)', r'\3-\2-\1 \4:\5'))
|
||||||
sensor_types = [u'Level', u'Flow']
|
sensor_types = [u'Level', u'Flow']
|
||||||
|
|
||||||
def obj_level(self):
|
def obj_level(self):
|
||||||
|
|
|
||||||
|
|
@ -268,13 +268,20 @@ class Map(Filter):
|
||||||
raise KeyError('Unable to handle %r' % txt)
|
raise KeyError('Unable to handle %r' % txt)
|
||||||
|
|
||||||
|
|
||||||
class Date(Filter):
|
class DateTime(Filter):
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
if empty(txt):
|
if empty(txt):
|
||||||
return txt
|
return txt
|
||||||
return parse_date(txt)
|
return parse_date(txt)
|
||||||
|
|
||||||
|
|
||||||
|
class Date(DateTime):
|
||||||
|
def filter(self, txt):
|
||||||
|
datetime = super(Date, self).filter(txt)
|
||||||
|
if datetime is not None:
|
||||||
|
return datetime.date
|
||||||
|
|
||||||
|
|
||||||
class Time(Filter):
|
class Time(Filter):
|
||||||
klass = datetime.time
|
klass = datetime.time
|
||||||
regexp = re.compile(ur'(?P<hh>\d+):?(?P<mm>\d+)(:(?P<ss>\d+))?')
|
regexp = re.compile(ur'(?P<hh>\d+):?(?P<mm>\d+)(:(?P<ss>\d+))?')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue