]> jfr.im git - yt-dlp.git/commitdiff
[update] Prepare to remove Python 3.6 support
authorpukkandan <redacted>
Sun, 17 Jul 2022 12:06:15 +0000 (17:36 +0530)
committerpukkandan <redacted>
Sun, 17 Jul 2022 13:15:44 +0000 (18:45 +0530)
yt_dlp/YoutubeDL.py
yt_dlp/update.py

index 0f8a51dbe3b899e1e4656ee6c89b07e63894cb12..d6dac7a901f18aa9b0b8bda9039c85493b60cb3d 100644 (file)
@@ -588,8 +588,8 @@ def __init__(self, params=None, auto_init=True):
         current_version = sys.version_info[:2]
         if current_version < MIN_RECOMMENDED:
             msg = ('Support for Python version %d.%d has been deprecated. '
-                   'See  https://github.com/yt-dlp/yt-dlp/issues/3764  for more details. '
-                   'You will recieve only one more update on this version')
+                   'See  https://github.com/yt-dlp/yt-dlp/issues/3764  for more details.'
+                   '\n                    You will no longer recieve updates on this version')
             if current_version < MIN_SUPPORTED:
                 msg = 'Python version %d.%d is no longer supported'
             self.deprecation_warning(
index 7f15aa211e0be0ed86a14dd722833873ad4a59c7..92c07acc1401738d6f91c327a729874d5a0c399d 100644 (file)
@@ -88,8 +88,7 @@ def __init__(self, ydl):
 
     @functools.cached_property
     def _tag(self):
-        latest = self._get_version_info('latest')['tag_name']
-        if version_tuple(__version__) >= version_tuple(latest):
+        if version_tuple(__version__) >= version_tuple(self.latest_version):
             return 'latest'
 
         identifier = f'{detect_variant()} {system_identifier()}'
@@ -113,9 +112,16 @@ def current_version(self):
 
     @property
     def new_version(self):
-        """Version of the latest release"""
+        """Version of the latest release we can update to"""
+        if self._tag.startswith('tags/'):
+            return self._tag[5:]
         return self._get_version_info(self._tag)['tag_name']
 
+    @property
+    def latest_version(self):
+        """Version of the latest release"""
+        return self._get_version_info('latest')['tag_name']
+
     @property
     def has_update(self):
         """Whether there is an update available"""
@@ -161,13 +167,15 @@ def check_update(self):
         """Report whether there is an update available"""
         try:
             self.ydl.to_screen(
-                f'Latest version: {self.new_version}, Current version: {self.current_version}')
+                f'Latest version: {self.latest_version}, Current version: {self.current_version}')
+            if not self.has_update:
+                if self._tag == 'latest':
+                    return self.ydl.to_screen(f'yt-dlp is up to date ({__version__})')
+                return self.ydl.report_warning(
+                    'yt-dlp cannot be updated any further since you are on an older Python version')
         except Exception:
             return self._report_network_error('obtain version info', delim='; Please try again later or')
 
-        if not self.has_update:
-            return self.ydl.to_screen(f'yt-dlp is up to date ({__version__})')
-
         if not is_non_updateable():
             self.ydl.to_screen(f'Current Build Hash {_sha256_file(self.filename)}')
         return True