aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-11-08 00:23:57 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-11-08 00:26:08 +0530
commit582fad70f547b7008495400b38c8b32c3412cd27 (patch)
tree9d18fc97d9b6f1e2054b376d9965a63091ef8117
parentaeec0e44e243dc625c8ff19964a624188d43e84b (diff)
downloadhypervideo-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.py1
-rw-r--r--yt_dlp/utils.py4
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 = ...