X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=blobdiff_plain;f=youtube_dl%2Futils.py;h=e82e3998a7c30d8ae14c9561b51946df0cbebcff;hp=c3135effc18d0df51982787933c06ceaa851e666;hb=dc03a42537cba83597ca8acb2bbe03f686f2136c;hpb=219da6bb685765186b7ffb878399c32f44351802 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)