diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 15 | 
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) | 
