]> jfr.im git - yt-dlp.git/commitdiff
[cleanup] Misc fixes (see desc)
authorpukkandan <redacted>
Fri, 29 Apr 2022 16:02:31 +0000 (21:32 +0530)
committerpukkandan <redacted>
Sat, 30 Apr 2022 23:28:38 +0000 (04:58 +0530)
* Do not warn when fixup is skipped for existing file
* [fragment] Fix `--skip-unavailable-fragments` for HTTP Errors
* [utils] write_string: Fix bug in 59f943cd5097e9bdbc3cb3e6b5675e43d369341a
* [utils] parse_codecs: Subtitle codec is generally referred to as `scodec`. https://github.com/yt-dlp/yt-dlp/pull/2174#discussion_r790156048
* [docs] Remove note about permissions. Closes #3597

README.md
yt_dlp/YoutubeDL.py
yt_dlp/downloader/fragment.py
yt_dlp/extractor/common.py
yt_dlp/options.py
yt_dlp/utils.py

index dc1fad5b37f744fbbd45aa9fdf2cf39d5ea66bfd..ed87a3273886db96f99889f9b02e666b24c3a608 100644 (file)
--- a/README.md
+++ b/README.md
@@ -320,9 +320,7 @@ # USAGE AND OPTIONS
 ## General Options:
     -h, --help                       Print this help text and exit
     --version                        Print program version and exit
-    -U, --update                     Update this program to latest version. Make
-                                     sure that you have sufficient permissions
-                                     (run with sudo if needed)
+    -U, --update                     Update this program to latest version
     -i, --ignore-errors              Ignore download and postprocessing errors.
                                      The download will be considered successful
                                      even if the postprocessing fails
index cc36e2c9cdd6c760ca5c9cfc5eb55b9b7c34b3ab..50342c2ca753fe6e3f24e48e36e6ecfc295252ee 100644 (file)
@@ -3151,16 +3151,16 @@ def fixup():
                     if fixup_policy in ('ignore', 'never'):
                         return
                     elif fixup_policy == 'warn':
-                        do_fixup = False
+                        do_fixup = 'warn'
                     elif fixup_policy != 'force':
                         assert fixup_policy in ('detect_or_warn', None)
                         if not info_dict.get('__real_download'):
                             do_fixup = False
 
                     def ffmpeg_fixup(cndn, msg, cls):
-                        if not cndn:
+                        if not (do_fixup and cndn):
                             return
-                        if not do_fixup:
+                        elif do_fixup == 'warn':
                             self.report_warning(f'{vid}: {msg}')
                             return
                         pp = cls(self)
index 451e3cc2fe98b973c1cc841eff561ac230d73636..4655f067fc5d8c0b5b0ba3af4e8c9d2429dad7ce 100644 (file)
@@ -123,7 +123,7 @@ def _download_fragment(self, ctx, frag_url, info_dict, headers=None, request_dat
             'request_data': request_data,
             'ctx_id': ctx.get('ctx_id'),
         }
-        success = ctx['dl'].download(fragment_filename, fragment_info_dict)
+        success, _ = ctx['dl'].download(fragment_filename, fragment_info_dict)
         if not success:
             return False
         if fragment_info_dict.get('filetime'):
index 441d8a1364047168041c1eced0a03ae8fbe13849..97cd524bc7e311bc3f2c32fb77902d5190c6f65e 100644 (file)
@@ -2808,7 +2808,7 @@ def extract_Initialization(source):
                             content_type = 'video'
                         elif codecs['acodec'] != 'none':
                             content_type = 'audio'
-                        elif codecs.get('tcodec', 'none') != 'none':
+                        elif codecs.get('scodec', 'none') != 'none':
                             content_type = 'text'
                         elif mimetype2ext(mime_type) in ('tt', 'dfxp', 'ttml', 'xml', 'json'):
                             content_type = 'text'
index c03f693194980234636ebbc7244dd18b643f581d..944147871d89794e4485a37e9feadfa0204ae7cc 100644 (file)
@@ -236,7 +236,7 @@ def _dict_from_options_callback(
     general.add_option(
         '-U', '--update',
         action='store_true', dest='update_self',
-        help='Update this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)')
+        help='Update this program to latest version')
     general.add_option(
         '-i', '--ignore-errors',
         action='store_true', dest='ignoreerrors',
index fc9eb253bf79602de573e688cc0c2af2f61a81df..0b28b0926fa18b543fc0c869ddb190aa5c96d074 100644 (file)
@@ -1859,7 +1859,7 @@ def write_string(s, out=None, encoding=None):
 
     from .compat import WINDOWS_VT_MODE  # Must be imported locally
     if WINDOWS_VT_MODE:
-        s = s.replace('\n', ' \n')
+        s = re.sub(r'([\r\n]+)', r' \1', s)
 
     if 'b' in getattr(out, 'mode', ''):
         byt = s.encode(encoding or preferredencoding(), 'ignore')
@@ -3177,7 +3177,7 @@ def parse_codecs(codecs_str):
         return {}
     split_codecs = list(filter(None, map(
         str.strip, codecs_str.strip().strip(',').split(','))))
-    vcodec, acodec, tcodec, hdr = None, None, None, None
+    vcodec, acodec, scodec, hdr = None, None, None, None
     for full_codec in split_codecs:
         parts = full_codec.split('.')
         codec = parts[0].replace('0', '')
@@ -3195,16 +3195,16 @@ def parse_codecs(codecs_str):
             if not acodec:
                 acodec = full_codec
         elif codec in ('stpp', 'wvtt',):
-            if not tcodec:
-                tcodec = full_codec
+            if not scodec:
+                scodec = full_codec
         else:
             write_string(f'WARNING: Unknown codec {full_codec}\n')
-    if vcodec or acodec or tcodec:
+    if vcodec or acodec or scodec:
         return {
             'vcodec': vcodec or 'none',
             'acodec': acodec or 'none',
             'dynamic_range': hdr,
-            **({'tcodec': tcodec} if tcodec is not None else {}),
+            **({'scodec': scodec} if scodec is not None else {}),
         }
     elif len(split_codecs) == 2:
         return {