diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 1783ce01b..5a0cc3f9a 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -1994,6 +1994,9 @@ class YoutubeDL(object): encoding = preferredencoding() return encoding + def get_opener(self): + return self._opener + def _write_thumbnails(self, info_dict, filename): if self.params.get('writethumbnail', False): thumbnails = info_dict.get('thumbnails') diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 5e2ed4d4b..760128546 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -377,7 +377,7 @@ def _real_main(argv=None): with YoutubeDL(ydl_opts) as ydl: # Update version if opts.update_self: - update_self(ydl.to_screen, opts.verbose) + update_self(ydl.to_screen, opts.verbose, ydl.get_opener()) # Remove cache dir if opts.rm_cachedir: diff --git a/youtube_dl/update.py b/youtube_dl/update.py index fc7ac8305..04bf0939e 100644 --- a/youtube_dl/update.py +++ b/youtube_dl/update.py @@ -13,7 +13,7 @@ from .compat import ( compat_str, compat_urllib_request, ) -from .utils import make_HTTPS_handler + from .version import __version__ @@ -47,7 +47,7 @@ def rsa_verify(message, signature, key): return True -def update_self(to_screen, verbose): +def update_self(to_screen, verbose, opener): """Update the program file with the latest version from the repository""" UPDATE_URL = "https://rg3.github.io/youtube-dl/update/" @@ -59,9 +59,6 @@ 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 - https_handler = make_HTTPS_handler({}) - opener = compat_urllib_request.build_opener(https_handler) - # Check if there is a new version try: newversion = opener.open(VERSION_URL).read().decode('utf-8').strip()