diff --git a/yt_dlp/update.py b/yt_dlp/update.py index a3a731aef..dad273267 100644 --- a/yt_dlp/update.py +++ b/yt_dlp/update.py @@ -15,6 +15,7 @@ from .utils import ( Popen, cached_method, deprecation_warning, + remove_end, shell_quote, system_identifier, traverse_obj, @@ -42,8 +43,7 @@ def _get_variant_and_executable_path(): # Ref: https://en.wikipedia.org/wiki/Uname#Examples if machine[1:] in ('x86', 'x86_64', 'amd64', 'i386', 'i686'): machine = '_x86' if platform.architecture()[0][:2] == '32' else '' - # NB: https://github.com/yt-dlp/yt-dlp/issues/5632 - return f'{sys.platform}{machine}_exe', path + return f'{remove_end(sys.platform, "32")}{machine}_exe', path path = os.path.dirname(__file__) if isinstance(__loader__, zipimporter): @@ -74,8 +74,8 @@ def current_git_head(): _FILE_SUFFIXES = { 'zip': '', 'py2exe': '_min.exe', - 'win32_exe': '.exe', - 'win32_x86_exe': '_x86.exe', + 'win_exe': '.exe', + 'win_x86_exe': '_x86.exe', 'darwin_exe': '_macos', 'darwin_legacy_exe': '_macos_legacy', 'linux_exe': '_linux', @@ -264,7 +264,8 @@ class Updater: self._report_error('Unable to overwrite current version') return os.rename(old_filename, self.filename) - if detect_variant() in ('win32_exe', 'py2exe'): + variant = detect_variant() + if variant.startswith('win') or variant == 'py2exe': atexit.register(Popen, f'ping 127.0.0.1 -n 5 -w 1000 & del /F "{old_filename}"', shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) elif old_filename: