Mercurial > wikked
changeset 404:d7c7b1ed8dbc
core: Fix bug with determining absolute URLs.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 11 Jan 2017 00:53:40 -0800 |
parents | 179128d982eb |
children | 9ad06bf9ac04 |
files | wikked/utils.py |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/wikked/utils.py Wed Jan 11 00:52:59 2017 -0800 +++ b/wikked/utils.py Wed Jan 11 00:53:40 2017 -0800 @@ -49,10 +49,14 @@ def get_absolute_url(base_url, url, quote=False): - endpoint, base_url = split_page_url(base_url) + base_endpoint, base_url = split_page_url(base_url) if base_url[0] != '/': raise ValueError("The base URL must be absolute. Got: %s" % base_url) + endpoint, url = split_page_url(url) + if not endpoint: + endpoint = base_endpoint + if url.startswith('/'): # Absolute page URL. abs_url = url @@ -67,6 +71,7 @@ urldir = os.path.dirname(base_url) raw_abs_url = os.path.join(urldir, url) abs_url = os.path.normpath(raw_abs_url).replace('\\', '/') + if quote: abs_url = urllib.parse.quote(abs_url.encode('utf-8')) if endpoint: