From 1621f3c3c0a48c23e223a6a6dcfbb973d3a56474 Mon Sep 17 00:00:00 2001 From: Laurent Bachelier Date: Wed, 1 Feb 2012 22:49:21 +0100 Subject: [PATCH] Allow more freedom in page regexps If the user starts with ^ or ends with $, do not add them. This allows using only $ or ^. If it's not a string, don't do anything to it (it has to be a regexp, or mimic one). Use search() instead of match(). They are the same, except match implies ^. This does not break any module, it only adds more possibilities. --- weboob/tools/browser/browser.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/weboob/tools/browser/browser.py b/weboob/tools/browser/browser.py index 7cfa7bac..79349de1 100644 --- a/weboob/tools/browser/browser.py +++ b/weboob/tools/browser/browser.py @@ -536,8 +536,14 @@ class BaseBrowser(StandardBrowser): page_groups = None page_group_dict = None for key, value in self.PAGES.items(): - regexp = re.compile('^%s$' % key) - m = regexp.match(result.geturl()) + if isinstance(key, basestring): + if not key.startswith('^') and not key.endswith('$'): + regexp = re.compile('^%s$' % key) + else: + regexp = re.compile(key) + else: + regexp = key + m = regexp.search(result.geturl()) if m: pageCls = value page_groups = m.groups()