|
|
@ -538,10 +538,22 @@ def sanitize_path(s):
|
|
|
|
return os.path.join(*sanitized_path)
|
|
|
|
return os.path.join(*sanitized_path)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Prepend protocol-less URLs with `http:` scheme in order to mitigate the number of
|
|
|
|
|
|
|
|
# unwanted failures due to missing protocol
|
|
|
|
|
|
|
|
def sanitize_url(url):
|
|
|
|
def sanitize_url(url):
|
|
|
|
return 'http:%s' % url if url.startswith('//') else url
|
|
|
|
# Prepend protocol-less URLs with `http:` scheme in order to mitigate
|
|
|
|
|
|
|
|
# the number of unwanted failures due to missing protocol
|
|
|
|
|
|
|
|
if url.startswith('//'):
|
|
|
|
|
|
|
|
return 'http:%s' % url
|
|
|
|
|
|
|
|
# Fix some common typos seen so far
|
|
|
|
|
|
|
|
COMMON_TYPOS = (
|
|
|
|
|
|
|
|
# https://github.com/rg3/youtube-dl/issues/15649
|
|
|
|
|
|
|
|
(r'^httpss://', r'https://'),
|
|
|
|
|
|
|
|
# https://bx1.be/lives/direct-tv/
|
|
|
|
|
|
|
|
(r'^rmtp([es]?)://', r'rtmp\1://'),
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
for mistake, fixup in COMMON_TYPOS:
|
|
|
|
|
|
|
|
if re.match(mistake, url):
|
|
|
|
|
|
|
|
return re.sub(mistake, fixup, url)
|
|
|
|
|
|
|
|
return url
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def sanitized_Request(url, *args, **kwargs):
|
|
|
|
def sanitized_Request(url, *args, **kwargs):
|
|
|
|