diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-11-08 00:23:57 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-11-08 00:26:08 +0530 |
commit | 582fad70f547b7008495400b38c8b32c3412cd27 (patch) | |
tree | 9d18fc97d9b6f1e2054b376d9965a63091ef8117 | |
parent | aeec0e44e243dc625c8ff19964a624188d43e84b (diff) | |
download | hypervideo-pre-582fad70f547b7008495400b38c8b32c3412cd27.tar.lz hypervideo-pre-582fad70f547b7008495400b38c8b32c3412cd27.tar.xz hypervideo-pre-582fad70f547b7008495400b38c8b32c3412cd27.zip |
[outtmpl] Do not traverse `None`
Closes #1585
-rw-r--r-- | test/test_YoutubeDL.py | 1 | ||||
-rw-r--r-- | yt_dlp/utils.py | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index bd2d752e2..40c4169c8 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -737,6 +737,7 @@ class TestYoutubeDL(unittest.TestCase): test(NA_TEST_OUTTMPL, 'NA-NA-def-1234.mp4') test(NA_TEST_OUTTMPL, 'none-none-def-1234.mp4', outtmpl_na_placeholder='none') test(NA_TEST_OUTTMPL, '--def-1234.mp4', outtmpl_na_placeholder='') + test('%(non_existent.0)s', 'NA') # String formatting FMT_TEST_OUTTMPL = '%%(height)%s.%%(ext)s' diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index 75b4ed61b..875ab5e72 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -6442,10 +6442,10 @@ def traverse_obj( def _traverse_obj(obj, path, _current_depth=0): nonlocal depth - if obj is None: - return None path = tuple(variadic(path)) for i, key in enumerate(path): + if obj is None: + return None if isinstance(key, (list, tuple)): obj = [_traverse_obj(obj, sub_key, _current_depth) for sub_key in key] key = ... |