From: James Bunton Date: Mon, 5 Oct 2015 14:09:17 +0000 (+1100) Subject: Handle URLs without scheme, fixes SBS issue #27 X-Git-Url: https://code.delx.au/webdl/commitdiff_plain/0abf553c080a19c491103e3198f8b7c1fa0ce09c Handle URLs without scheme, fixes SBS issue #27 --- diff --git a/common.py b/common.py index 7bf8298..fb1cf16 100644 --- a/common.py +++ b/common.py @@ -77,9 +77,18 @@ def sanify_filename(filename): assert len(filename) > 0 return filename +def ensure_scheme(url): + parts = urllib.parse.urlparse(url) + if parts.scheme: + return url + parts = list(parts) + parts[0] = "http" + return urllib.parse.urlunparse(parts) + cookiejar = http.cookiejar.CookieJar() urlopener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookiejar)) def _urlopen(url, referrer=None): + url = ensure_scheme(url) req = urllib.request.Request(url) req.add_header("User-Agent", USER_AGENT) if referrer: