From f8e2016d59a437e8ae97852dc95ce3c78dc5a2cc Mon Sep 17 00:00:00 2001 From: Christophe Benz Date: Fri, 16 Apr 2010 19:40:27 +0200 Subject: [PATCH] get_parser returns class instead of object --- weboob/tools/browser.py | 5 ++++- weboob/tools/parsers/__init__.py | 18 +++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/weboob/tools/browser.py b/weboob/tools/browser.py index 0945e10d..5feac9ea 100644 --- a/weboob/tools/browser.py +++ b/weboob/tools/browser.py @@ -115,7 +115,8 @@ class BaseBrowser(mechanize.Browser): # ------ 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) self.addheaders = [ ['User-agent', self.USER_AGENT] @@ -129,6 +130,8 @@ class BaseBrowser(mechanize.Browser): else: self._cookie = None + if parser is None: + parser = get_parser()() self.parser = parser self.page = None self.last_update = 0.0 diff --git a/weboob/tools/parsers/__init__.py b/weboob/tools/parsers/__init__.py index e8943c59..837b538e 100644 --- a/weboob/tools/parsers/__init__.py +++ b/weboob/tools/parsers/__init__.py @@ -26,23 +26,23 @@ __all__ = ['get_parser', 'NoParserFound'] class NoParserFound(Exception): pass -def load_lxml(*args, **kwargs): +def load_lxml(): from .lxmlparser import LxmlHtmlParser - return LxmlHtmlParser() + return LxmlHtmlParser -def load_html5lib(*args, **kwargs): +def load_html5lib(): from .html5libparser import Html5libParser - return Html5libParser(*args, **kwargs) + return Html5libParser -def load_elementtidy(*args, **kwargs): +def load_elementtidy(): from .elementtidyparser import ElementTidyParser - return ElementTidyParser() + return ElementTidyParser -def load_buildtin(*args, **kwargs): +def load_buildtin(): 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. This allows Weboob to run on systems without lxml, which is the default parser.