diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-07-11 01:17:48 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-07-11 02:24:36 +0530 |
commit | f5ea47488a2c59b2520b4988b7eab4d8830e3077 (patch) | |
tree | 2dd8200f282ea57b1324d3d1baf5f35d9977d1f8 | |
parent | 134c913cca8e526a0128c62741689c0d0d05df03 (diff) | |
download | hypervideo-pre-f5ea47488a2c59b2520b4988b7eab4d8830e3077.tar.lz hypervideo-pre-f5ea47488a2c59b2520b4988b7eab4d8830e3077.tar.xz hypervideo-pre-f5ea47488a2c59b2520b4988b7eab4d8830e3077.zip |
[cleanup] Minor fixes
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | test/test_utils.py | 2 | ||||
-rw-r--r-- | yt_dlp/YoutubeDL.py | 6 | ||||
-rw-r--r-- | yt_dlp/downloader/common.py | 3 |
4 files changed, 8 insertions, 5 deletions
@@ -1207,7 +1207,7 @@ The field names themselves (the part inside the parenthesis) can also have some 1. **Default**: A literal default value can be specified for when the field is empty using a `|` separator. This overrides `--output-na-template`. Eg: `%(uploader|Unknown)s` -1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing), `l` = a comma separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (Eg: 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted) +1. **More Conversions**: In addition to the normal format types `diouxXeEfFgGcrs`, yt-dlp additionally supports converting to `B` = **B**ytes, `j` = **j**son (flag `#` for pretty-printing), `h` = HTML escaping, `l` = a comma separated **l**ist (flag `#` for `\n` newline-separated), `q` = a string **q**uoted for the terminal (flag `#` to split a list into different arguments), `D` = add **D**ecimal suffixes (Eg: 10M) (flag `#` to use 1024 as factor), and `S` = **S**anitize as filename (flag `#` for restricted) 1. **Unicode normalization**: The format type `U` can be used for NFC [unicode normalization](https://docs.python.org/3/library/unicodedata.html#unicodedata.normalize). The alternate form flag (`#`) changes the normalization to NFD and the conversion flag `+` can be used for NFKC/NFKD compatibility equivalence normalization. Eg: `%(title)+.100U` is NFKC diff --git a/test/test_utils.py b/test/test_utils.py index 8024a8e7c..948d5d059 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -895,7 +895,7 @@ class TestUtil(unittest.TestCase): 'dynamic_range': 'HDR10', }) self.assertEqual(parse_codecs('av01.0.12M.10.0.110.09.16.09.0'), { - 'vcodec': 'av01.0.12M.10', + 'vcodec': 'av01.0.12M.10.0.110.09.16.09.0', 'acodec': 'none', 'dynamic_range': 'HDR10', }) diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 7e9c0949b..e812f4775 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1685,6 +1685,8 @@ class YoutubeDL: def __process_playlist(self, ie_result, download): """Process each entry in the playlist""" + assert ie_result['_type'] in ('playlist', 'multi_video') + title = ie_result.get('title') or ie_result.get('id') or '<Untitled>' self.to_screen(f'[download] Downloading playlist: {title}') @@ -3540,7 +3542,9 @@ class YoutubeDL: def simplified_codec(f, field): assert field in ('acodec', 'vcodec') codec = f.get(field, 'unknown') - if codec != 'none': + if not codec: + return 'unknown' + elif codec != 'none': return '.'.join(codec.split('.')[:4]) if field == 'vcodec' and f.get('acodec') == 'none': diff --git a/yt_dlp/downloader/common.py b/yt_dlp/downloader/common.py index 3a0a014ef..f502253bf 100644 --- a/yt_dlp/downloader/common.py +++ b/yt_dlp/downloader/common.py @@ -450,8 +450,7 @@ class FileDownloader: raise NotImplementedError('This method must be implemented by subclasses') def _hook_progress(self, status, info_dict): - if not self._progress_hooks: - return + # Ideally we want to make a copy of the dict, but that is too slow status['info_dict'] = info_dict # youtube-dl passes the same status object to all the hooks. # Some third party scripts seems to be relying on this. |