Commit 1b1c7235 by Tyler Hallada

absolute_url returns given URL if already absolute

parent a69fb493
......@@ -31,6 +31,13 @@ def encode_url(url):
def absolute_url(site, relative_path):
"""Add site.domain to the beginning of the given relative path.
If the given URL is already absolute (has a netloc part), then it is just returned.
"""
if bool(urlparse(relative_path).netloc):
# Given URL is already absolute
return relative_path
root = site.domain.rstrip('/')
relative_path = relative_path.lstrip('/')
return encode_url(u'https://{root}/{path}'.format(root=root, path=relative_path))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment