From 266300ab651a5680c5b3809839f82bb97aad7bdd Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Thu, 13 Mar 2014 22:05:33 +0100 Subject: [PATCH] add UrlNotResolvable exception when URL.build can't resolve url with keywords --- weboob/tools/browser2/page.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/weboob/tools/browser2/page.py b/weboob/tools/browser2/page.py index 0f96e184..781fc70a 100644 --- a/weboob/tools/browser2/page.py +++ b/weboob/tools/browser2/page.py @@ -34,6 +34,10 @@ from .browser import DomainBrowser from .filters import _Filter, CleanText +class UrlNotResolvable(Exception): + pass + + class URL(object): """ A description of an URL on the PagesBrowser website. @@ -93,9 +97,14 @@ class URL(object): patterns += normalize(url) for pattern, args in patterns: - url = pattern % kwargs + try: + url = pattern % kwargs + except KeyError: + continue return url + raise UrlNotResolvable('Unable to resolve URL with %r. Available are %s' % (kwargs, ', '.join([pattern for pattern, args in patterns]))) + def match(self, url): for regex in self.urls: if regex.startswith('/'):