Add debug on some standards filters
This commit is contained in:
parent
23aec4046c
commit
5daba0f8ab
1 changed files with 15 additions and 2 deletions
|
|
@ -96,8 +96,6 @@ def debug(*args):
|
||||||
A decorator function to provide some debugs informations
|
A decorator function to provide some debugs informations
|
||||||
in Filters.
|
in Filters.
|
||||||
It prints by default the name of the Filter and the input value.
|
It prints by default the name of the Filter and the input value.
|
||||||
You can add environnement variable used by filters, by example
|
|
||||||
using @debug("symbols", "toreplace", "childs")
|
|
||||||
"""
|
"""
|
||||||
def wraper(function):
|
def wraper(function):
|
||||||
def print_debug(self, value):
|
def print_debug(self, value):
|
||||||
|
|
@ -145,6 +143,7 @@ class Filter(_Filter):
|
||||||
def __call__(self, item):
|
def __call__(self, item):
|
||||||
return self.filter(self.select(self.selector, item))
|
return self.filter(self.select(self.selector, item))
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, value):
|
def filter(self, value):
|
||||||
"""
|
"""
|
||||||
This method have to be overrided by children classes.
|
This method have to be overrided by children classes.
|
||||||
|
|
@ -251,6 +250,7 @@ class TableCell(_Filter):
|
||||||
|
|
||||||
|
|
||||||
class RawText(Filter):
|
class RawText(Filter):
|
||||||
|
@debug()
|
||||||
def filter(self, el):
|
def filter(self, el):
|
||||||
if isinstance(el, (tuple, list)):
|
if isinstance(el, (tuple, list)):
|
||||||
return u' '.join([self.filter(e) for e in el])
|
return u' '.join([self.filter(e) for e in el])
|
||||||
|
|
@ -287,6 +287,7 @@ class CleanText(Filter):
|
||||||
self.childs = childs
|
self.childs = childs
|
||||||
self.newlines = newlines
|
self.newlines = newlines
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
if isinstance(txt, (tuple, list)):
|
if isinstance(txt, (tuple, list)):
|
||||||
txt = u' '.join([self.clean(item, childs=self.childs) for item in txt])
|
txt = u' '.join([self.clean(item, childs=self.childs) for item in txt])
|
||||||
|
|
@ -326,6 +327,7 @@ class CleanText(Filter):
|
||||||
|
|
||||||
|
|
||||||
class Lower(CleanText):
|
class Lower(CleanText):
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
txt = super(Lower, self).filter(txt)
|
txt = super(Lower, self).filter(txt)
|
||||||
return txt.lower()
|
return txt.lower()
|
||||||
|
|
@ -355,6 +357,7 @@ class CleanDecimal(CleanText):
|
||||||
self.replace_dots = replace_dots
|
self.replace_dots = replace_dots
|
||||||
self.sign = sign
|
self.sign = sign
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, text):
|
def filter(self, text):
|
||||||
if empty(text):
|
if empty(text):
|
||||||
return self.default_or_raise(ParseError('Unable to parse %r' % text))
|
return self.default_or_raise(ParseError('Unable to parse %r' % text))
|
||||||
|
|
@ -398,6 +401,7 @@ class Type(Filter):
|
||||||
self.type_func = type
|
self.type_func = type
|
||||||
self.minlen = minlen
|
self.minlen = minlen
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
if empty(txt):
|
if empty(txt):
|
||||||
return self.default_or_raise(ParseError('Unable to parse %r' % txt))
|
return self.default_or_raise(ParseError('Unable to parse %r' % txt))
|
||||||
|
|
@ -461,6 +465,7 @@ class Regexp(Filter):
|
||||||
self.template = template
|
self.template = template
|
||||||
self.nth = nth
|
self.nth = nth
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
if isinstance(txt, (tuple, list)):
|
if isinstance(txt, (tuple, list)):
|
||||||
txt = u' '.join([t.strip() for t in txt.itertext()])
|
txt = u' '.join([t.strip() for t in txt.itertext()])
|
||||||
|
|
@ -483,6 +488,7 @@ class Map(Filter):
|
||||||
super(Map, self).__init__(selector, default=default)
|
super(Map, self).__init__(selector, default=default)
|
||||||
self.map_dict = map_dict
|
self.map_dict = map_dict
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
try:
|
try:
|
||||||
return self.map_dict[txt]
|
return self.map_dict[txt]
|
||||||
|
|
@ -496,6 +502,7 @@ class DateTime(Filter):
|
||||||
self.dayfirst = dayfirst
|
self.dayfirst = dayfirst
|
||||||
self.translations = translations
|
self.translations = translations
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
if empty(txt) or txt == '':
|
if empty(txt) or txt == '':
|
||||||
return self.default_or_raise(ParseError('Unable to parse %r' % txt))
|
return self.default_or_raise(ParseError('Unable to parse %r' % txt))
|
||||||
|
|
@ -512,6 +519,7 @@ class Date(DateTime):
|
||||||
def __init__(self, selector=None, default=_NO_DEFAULT, dayfirst=False, translations=None):
|
def __init__(self, selector=None, default=_NO_DEFAULT, dayfirst=False, translations=None):
|
||||||
super(Date, self).__init__(selector, default=default, dayfirst=dayfirst, translations=translations)
|
super(Date, self).__init__(selector, default=default, dayfirst=dayfirst, translations=translations)
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
datetime = super(Date, self).filter(txt)
|
datetime = super(Date, self).filter(txt)
|
||||||
if hasattr(datetime, 'date'):
|
if hasattr(datetime, 'date'):
|
||||||
|
|
@ -550,6 +558,7 @@ class Time(Filter):
|
||||||
def __init__(self, selector=None, default=_NO_DEFAULT):
|
def __init__(self, selector=None, default=_NO_DEFAULT):
|
||||||
super(Time, self).__init__(selector, default=default)
|
super(Time, self).__init__(selector, default=default)
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, txt):
|
def filter(self, txt):
|
||||||
m = self.regexp.search(txt)
|
m = self.regexp.search(txt)
|
||||||
if m:
|
if m:
|
||||||
|
|
@ -584,6 +593,7 @@ class CombineDate(MultiFilter):
|
||||||
def __init__(self, date, time):
|
def __init__(self, date, time):
|
||||||
super(CombineDate, self).__init__(date, time)
|
super(CombineDate, self).__init__(date, time)
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, values):
|
def filter(self, values):
|
||||||
return datetime.datetime.combine(values[0], values[1])
|
return datetime.datetime.combine(values[0], values[1])
|
||||||
|
|
||||||
|
|
@ -593,6 +603,7 @@ class Format(MultiFilter):
|
||||||
super(Format, self).__init__(*args)
|
super(Format, self).__init__(*args)
|
||||||
self.fmt = fmt
|
self.fmt = fmt
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, values):
|
def filter(self, values):
|
||||||
return self.fmt % values
|
return self.fmt % values
|
||||||
|
|
||||||
|
|
@ -609,6 +620,7 @@ class BrowserURL(MultiFilter):
|
||||||
assert isinstance(url, URL), "%s.%s must be an URL object" % (type(item.page.browser).__name__, self.url_name)
|
assert isinstance(url, URL), "%s.%s must be an URL object" % (type(item.page.browser).__name__, self.url_name)
|
||||||
return url.build(**dict(zip(self.keys, values)))
|
return url.build(**dict(zip(self.keys, values)))
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, values):
|
def filter(self, values):
|
||||||
return values
|
return values
|
||||||
|
|
||||||
|
|
@ -619,6 +631,7 @@ class Join(Filter):
|
||||||
self.pattern = pattern
|
self.pattern = pattern
|
||||||
self.textCleaner = textCleaner
|
self.textCleaner = textCleaner
|
||||||
|
|
||||||
|
@debug()
|
||||||
def filter(self, el):
|
def filter(self, el):
|
||||||
res = u''
|
res = u''
|
||||||
for li in el:
|
for li in el:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue