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: