aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/utils.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-03-17 21:18:36 +0600
committerSergey M․ <dstftw@gmail.com>2015-03-17 21:18:36 +0600
commitdc03a42537cba83597ca8acb2bbe03f686f2136c (patch)
tree50c2d32df93dbacdec772d2d502c364012274feb /youtube_dl/utils.py
parent219da6bb685765186b7ffb878399c32f44351802 (diff)
parent2cb434e53ee861c8bcbd538455be107085f444ae (diff)
downloadyoutube-dl-dc03a42537cba83597ca8acb2bbe03f686f2136c.tar.xz
Merge branch 'sohu_fix' of https://github.com/yan12125/youtube-dl into yan12125-sohu_fix
Diffstat (limited to 'youtube_dl/utils.py')
-rw-r--r--youtube_dl/utils.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index c3135effc..e82e3998a 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -1804,3 +1804,18 @@ class PerRequestProxyHandler(compat_urllib_request.ProxyHandler):
return None # No Proxy
return compat_urllib_request.ProxyHandler.proxy_open(
self, req, proxy, type)
+
+
+def url_sanitize_consecutive_slashes(url):
+ """Sanitize URLs with consecutive slashes
+
+ For example, transform both
+ http://hostname/foo//bar/filename.html
+ and
+ http://hostname//foo/bar/filename.html
+ into
+ http://hostname/foo/bar/filename.html
+ """
+ parsed_url = list(compat_urlparse.urlparse(url))
+ parsed_url[2] = re.sub(r'/{2,}', '/', parsed_url[2])
+ return compat_urlparse.urlunparse(parsed_url)