fix URL.id2url (give the browser instance to URL.build())
This commit is contained in:
parent
82f47bff88
commit
686a3b77e8
1 changed files with 3 additions and 2 deletions
|
|
@ -138,6 +138,7 @@ class URL(object):
|
||||||
:rtype: :class:`str`
|
:rtype: :class:`str`
|
||||||
:raises: :class:`UrlNotResolvable` if unable to resolve a correct url with the given arguments.
|
:raises: :class:`UrlNotResolvable` if unable to resolve a correct url with the given arguments.
|
||||||
"""
|
"""
|
||||||
|
browser = kwargs.pop('browser', self.browser)
|
||||||
patterns = []
|
patterns = []
|
||||||
for url in self.urls:
|
for url in self.urls:
|
||||||
patterns += normalize(url)
|
patterns += normalize(url)
|
||||||
|
|
@ -156,7 +157,7 @@ class URL(object):
|
||||||
if len(kwargs):
|
if len(kwargs):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
return self.browser.absurl(url, base=True)
|
return browser.absurl(url, base=True)
|
||||||
|
|
||||||
raise UrlNotResolvable('Unable to resolve URL with %r. Available are %s' % (kwargs, ', '.join([pattern for pattern, _ in patterns])))
|
raise UrlNotResolvable('Unable to resolve URL with %r. Available are %s' % (kwargs, ', '.join([pattern for pattern, _ in patterns])))
|
||||||
|
|
||||||
|
|
@ -195,7 +196,7 @@ class URL(object):
|
||||||
if not self.match(id_or_url, browser.BASEURL):
|
if not self.match(id_or_url, browser.BASEURL):
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
id_or_url = self.build(id=id_or_url)
|
id_or_url = self.build(id=id_or_url, browser=browser)
|
||||||
|
|
||||||
return func(browser, id_or_url, *args, **kwargs)
|
return func(browser, id_or_url, *args, **kwargs)
|
||||||
return inner
|
return inner
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue