diff options
Diffstat (limited to 'youtube_dl/update.py')
| -rw-r--r-- | youtube_dl/update.py | 26 | 
1 files changed, 10 insertions, 16 deletions
| diff --git a/youtube_dl/update.py b/youtube_dl/update.py index fc7ac8305..995b8ed96 100644 --- a/youtube_dl/update.py +++ b/youtube_dl/update.py @@ -9,11 +9,8 @@ import subprocess  import sys  from zipimport import zipimporter -from .compat import ( -    compat_str, -    compat_urllib_request, -) -from .utils import make_HTTPS_handler +from .utils import encode_compat_str +  from .version import __version__ @@ -47,7 +44,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,15 +56,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.')          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()      except Exception:          if verbose: -            to_screen(compat_str(traceback.format_exc())) +            to_screen(encode_compat_str(traceback.format_exc()))          to_screen('ERROR: can\'t find the current version. Please try again later.')          return      if newversion == __version__: @@ -80,7 +74,7 @@ def update_self(to_screen, verbose):          versions_info = json.loads(versions_info)      except Exception:          if verbose: -            to_screen(compat_str(traceback.format_exc())) +            to_screen(encode_compat_str(traceback.format_exc()))          to_screen('ERROR: can\'t obtain versions info. Please try again later.')          return      if 'signature' not in versions_info: @@ -129,7 +123,7 @@ def update_self(to_screen, verbose):              urlh.close()          except (IOError, OSError):              if verbose: -                to_screen(compat_str(traceback.format_exc())) +                to_screen(encode_compat_str(traceback.format_exc()))              to_screen('ERROR: unable to download latest version')              return @@ -143,7 +137,7 @@ def update_self(to_screen, verbose):                  outf.write(newcontent)          except (IOError, OSError):              if verbose: -                to_screen(compat_str(traceback.format_exc())) +                to_screen(encode_compat_str(traceback.format_exc()))              to_screen('ERROR: unable to write the new version')              return @@ -163,7 +157,7 @@ start /b "" cmd /c del "%%~f0"&exit /b"              return  # Do not show premature success messages          except (IOError, OSError):              if verbose: -                to_screen(compat_str(traceback.format_exc())) +                to_screen(encode_compat_str(traceback.format_exc()))              to_screen('ERROR: unable to overwrite current version')              return @@ -175,7 +169,7 @@ start /b "" cmd /c del "%%~f0"&exit /b"              urlh.close()          except (IOError, OSError):              if verbose: -                to_screen(compat_str(traceback.format_exc())) +                to_screen(encode_compat_str(traceback.format_exc()))              to_screen('ERROR: unable to download latest version')              return @@ -189,7 +183,7 @@ start /b "" cmd /c del "%%~f0"&exit /b"                  outf.write(newcontent)          except (IOError, OSError):              if verbose: -                to_screen(compat_str(traceback.format_exc())) +                to_screen(encode_compat_str(traceback.format_exc()))              to_screen('ERROR: unable to overwrite current version')              return | 
