aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-04-29 21:32:31 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-05-01 04:58:38 +0530
commit3fe75fdc803d50820ddf643dc5184c01162451c4 (patch)
tree626c8680a719e0f2177358c132039c8a39f05766
parent6f7563beb7509aba2f8b1f03fd37e52427dcfecb (diff)
downloadhypervideo-pre-3fe75fdc803d50820ddf643dc5184c01162451c4.tar.lz
hypervideo-pre-3fe75fdc803d50820ddf643dc5184c01162451c4.tar.xz
hypervideo-pre-3fe75fdc803d50820ddf643dc5184c01162451c4.zip
[cleanup] Misc fixes (see desc)
* 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
-rw-r--r--README.md4
-rw-r--r--yt_dlp/YoutubeDL.py6
-rw-r--r--yt_dlp/downloader/fragment.py2
-rw-r--r--yt_dlp/extractor/common.py2
-rw-r--r--yt_dlp/options.py2
-rw-r--r--yt_dlp/utils.py12
6 files changed, 13 insertions, 15 deletions
diff --git a/README.md b/README.md
index dc1fad5b3..ed87a3273 100644
--- a/README.md
+++ b/README.md
@@ -320,9 +320,7 @@ You can also fork the project on github and run your fork's [build workflow](.gi
## 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
diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py
index cc36e2c9c..50342c2ca 100644
--- a/yt_dlp/YoutubeDL.py
+++ b/yt_dlp/YoutubeDL.py
@@ -3151,16 +3151,16 @@ class YoutubeDL:
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)
diff --git a/yt_dlp/downloader/fragment.py b/yt_dlp/downloader/fragment.py
index 451e3cc2f..4655f067f 100644
--- a/yt_dlp/downloader/fragment.py
+++ b/yt_dlp/downloader/fragment.py
@@ -123,7 +123,7 @@ class FragmentFD(FileDownloader):
'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'):
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py
index 441d8a136..97cd524bc 100644
--- a/yt_dlp/extractor/common.py
+++ b/yt_dlp/extractor/common.py
@@ -2808,7 +2808,7 @@ class InfoExtractor:
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'
diff --git a/yt_dlp/options.py b/yt_dlp/options.py
index c03f69319..944147871 100644
--- a/yt_dlp/options.py
+++ b/yt_dlp/options.py
@@ -236,7 +236,7 @@ def create_parser():
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',
diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py
index fc9eb253b..0b28b0926 100644
--- a/yt_dlp/utils.py
+++ b/yt_dlp/utils.py
@@ -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 {