[update] Use utils HTTPS handler (Fixes #4666)
On FreeBSD, the default HTTPS handler is missing certificates, so use our own.
This commit is contained in:
parent
9932a65370
commit
aa2fd59857
|
@ -13,6 +13,7 @@ from .compat import (
|
||||||
compat_str,
|
compat_str,
|
||||||
compat_urllib_request,
|
compat_urllib_request,
|
||||||
)
|
)
|
||||||
|
from .utils import make_HTTPS_handler
|
||||||
from .version import __version__
|
from .version import __version__
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,9 +59,12 @@ def update_self(to_screen, verbose):
|
||||||
to_screen('It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.')
|
to_screen('It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
https_handler = make_HTTPS_handler(False)
|
||||||
|
opener = compat_urllib_request.build_opener(https_handler)
|
||||||
|
|
||||||
# Check if there is a new version
|
# Check if there is a new version
|
||||||
try:
|
try:
|
||||||
newversion = compat_urllib_request.urlopen(VERSION_URL).read().decode('utf-8').strip()
|
newversion = opener.open(VERSION_URL).read().decode('utf-8').strip()
|
||||||
except:
|
except:
|
||||||
if verbose:
|
if verbose:
|
||||||
to_screen(compat_str(traceback.format_exc()))
|
to_screen(compat_str(traceback.format_exc()))
|
||||||
|
@ -72,7 +76,7 @@ def update_self(to_screen, verbose):
|
||||||
|
|
||||||
# Download and check versions info
|
# Download and check versions info
|
||||||
try:
|
try:
|
||||||
versions_info = compat_urllib_request.urlopen(JSON_URL).read().decode('utf-8')
|
versions_info = opener.open(JSON_URL).read().decode('utf-8')
|
||||||
versions_info = json.loads(versions_info)
|
versions_info = json.loads(versions_info)
|
||||||
except:
|
except:
|
||||||
if verbose:
|
if verbose:
|
||||||
|
@ -120,7 +124,7 @@ def update_self(to_screen, verbose):
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
urlh = compat_urllib_request.urlopen(version['exe'][0])
|
urlh = opener.open(version['exe'][0])
|
||||||
newcontent = urlh.read()
|
newcontent = urlh.read()
|
||||||
urlh.close()
|
urlh.close()
|
||||||
except (IOError, OSError):
|
except (IOError, OSError):
|
||||||
|
@ -166,7 +170,7 @@ start /b "" cmd /c del "%%~f0"&exit /b"
|
||||||
# Zip unix package
|
# Zip unix package
|
||||||
elif isinstance(globals().get('__loader__'), zipimporter):
|
elif isinstance(globals().get('__loader__'), zipimporter):
|
||||||
try:
|
try:
|
||||||
urlh = compat_urllib_request.urlopen(version['bin'][0])
|
urlh = opener.open(version['bin'][0])
|
||||||
newcontent = urlh.read()
|
newcontent = urlh.read()
|
||||||
urlh.close()
|
urlh.close()
|
||||||
except (IOError, OSError):
|
except (IOError, OSError):
|
||||||
|
|
Loading…
Reference in New Issue