projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[soompi] Add new extractor for tv.soompi.com
[youtube-dl]
/
youtube_dl
/
update.py
diff --git
a/youtube_dl/update.py
b/youtube_dl/update.py
index 941db3c8f968fdcc3f134a596c9cba4b50273dd9..de3169eef1d6ec29d82a60b2f4b6a68f49d7dd4e 100644
(file)
--- a/
youtube_dl/update.py
+++ b/
youtube_dl/update.py
@@
-13,13
+13,13
@@
from .compat import (
compat_str,
compat_urllib_request,
)
compat_str,
compat_urllib_request,
)
+from .utils import make_HTTPS_handler
from .version import __version__
def rsa_verify(message, signature, key):
from struct import pack
from hashlib import sha256
from .version import __version__
def rsa_verify(message, signature, key):
from struct import pack
from hashlib import sha256
- from sys import version_info
assert isinstance(message, bytes)
block_size = 0
assert isinstance(message, bytes)
block_size = 0
@@
-59,10
+59,13
@@
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.')
return
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
+ https_handler = make_HTTPS_handler({})
+ opener = compat_urllib_request.build_opener(https_handler)
+
# Check if there is a new version
try:
# Check if there is a new version
try:
- newversion =
compat_urllib_request.url
open(VERSION_URL).read().decode('utf-8').strip()
- except:
+ newversion =
opener.
open(VERSION_URL).read().decode('utf-8').strip()
+ except
Exception
:
if verbose:
to_screen(compat_str(traceback.format_exc()))
to_screen('ERROR: can\'t find the current version. Please try again later.')
if verbose:
to_screen(compat_str(traceback.format_exc()))
to_screen('ERROR: can\'t find the current version. Please try again later.')
@@
-73,14
+76,14
@@
def update_self(to_screen, verbose):
# Download and check versions info
try:
# Download and check versions info
try:
- versions_info =
compat_urllib_request.url
open(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
Exception
:
if verbose:
to_screen(compat_str(traceback.format_exc()))
to_screen('ERROR: can\'t obtain versions info. Please try again later.')
return
if verbose:
to_screen(compat_str(traceback.format_exc()))
to_screen('ERROR: can\'t obtain versions info. Please try again later.')
return
- if
not 'signature'
in versions_info:
+ if
'signature' not
in versions_info:
to_screen('ERROR: the versions file is not signed or corrupted. Aborting.')
return
signature = versions_info['signature']
to_screen('ERROR: the versions file is not signed or corrupted. Aborting.')
return
signature = versions_info['signature']
@@
-121,7
+124,7
@@
def update_self(to_screen, verbose):
return
try:
return
try:
- urlh =
compat_urllib_request.url
open(version['exe'][0])
+ urlh =
opener.
open(version['exe'][0])
newcontent = urlh.read()
urlh.close()
except (IOError, OSError):
newcontent = urlh.read()
urlh.close()
except (IOError, OSError):
@@
-167,7
+170,7
@@
start /b "" cmd /c del "%%~f0"&exit /b"
# Zip unix package
elif isinstance(globals().get('__loader__'), zipimporter):
try:
# Zip unix package
elif isinstance(globals().get('__loader__'), zipimporter):
try:
- urlh =
compat_urllib_request.url
open(version['bin'][0])
+ urlh =
opener.
open(version['bin'][0])
newcontent = urlh.read()
urlh.close()
except (IOError, OSError):
newcontent = urlh.read()
urlh.close()
except (IOError, OSError):