get_parser returns class instead of object
This commit is contained in:
parent
77881978e3
commit
f8e2016d59
2 changed files with 13 additions and 10 deletions
|
|
@ -115,7 +115,8 @@ class BaseBrowser(mechanize.Browser):
|
||||||
|
|
||||||
# ------ Browser methods ---------------------------------------
|
# ------ Browser methods ---------------------------------------
|
||||||
|
|
||||||
def __init__(self, username=None, password=None, firefox_cookies=None, parser=get_parser(), history=NoHistory()):
|
def __init__(self, username=None, password=None, firefox_cookies=None,
|
||||||
|
parser=None, history=NoHistory()):
|
||||||
mechanize.Browser.__init__(self, history=history)
|
mechanize.Browser.__init__(self, history=history)
|
||||||
self.addheaders = [
|
self.addheaders = [
|
||||||
['User-agent', self.USER_AGENT]
|
['User-agent', self.USER_AGENT]
|
||||||
|
|
@ -129,6 +130,8 @@ class BaseBrowser(mechanize.Browser):
|
||||||
else:
|
else:
|
||||||
self._cookie = None
|
self._cookie = None
|
||||||
|
|
||||||
|
if parser is None:
|
||||||
|
parser = get_parser()()
|
||||||
self.parser = parser
|
self.parser = parser
|
||||||
self.page = None
|
self.page = None
|
||||||
self.last_update = 0.0
|
self.last_update = 0.0
|
||||||
|
|
|
||||||
|
|
@ -26,23 +26,23 @@ __all__ = ['get_parser', 'NoParserFound']
|
||||||
|
|
||||||
class NoParserFound(Exception): pass
|
class NoParserFound(Exception): pass
|
||||||
|
|
||||||
def load_lxml(*args, **kwargs):
|
def load_lxml():
|
||||||
from .lxmlparser import LxmlHtmlParser
|
from .lxmlparser import LxmlHtmlParser
|
||||||
return LxmlHtmlParser()
|
return LxmlHtmlParser
|
||||||
|
|
||||||
def load_html5lib(*args, **kwargs):
|
def load_html5lib():
|
||||||
from .html5libparser import Html5libParser
|
from .html5libparser import Html5libParser
|
||||||
return Html5libParser(*args, **kwargs)
|
return Html5libParser
|
||||||
|
|
||||||
def load_elementtidy(*args, **kwargs):
|
def load_elementtidy():
|
||||||
from .elementtidyparser import ElementTidyParser
|
from .elementtidyparser import ElementTidyParser
|
||||||
return ElementTidyParser()
|
return ElementTidyParser
|
||||||
|
|
||||||
def load_buildtin(*args, **kwargs):
|
def load_buildtin():
|
||||||
from .htmlparser import HTMLParser
|
from .htmlparser import HTMLParser
|
||||||
return HTMLParser()
|
return HTMLParser
|
||||||
|
|
||||||
def get_parser(preference_order=['lxml', 'html5lib', 'elementtidy', 'builtin'], *args, **kwargs):
|
def get_parser(preference_order=['lxml', 'html5lib', 'elementtidy', 'builtin']):
|
||||||
"""
|
"""
|
||||||
Get a parser from a preference order list.
|
Get a parser from a preference order list.
|
||||||
This allows Weboob to run on systems without lxml, which is the default parser.
|
This allows Weboob to run on systems without lxml, which is the default parser.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue