aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/utils.py')
-rw-r--r--yt_dlp/utils.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py
index 08e2d19d2..baa2a415e 100644
--- a/yt_dlp/utils.py
+++ b/yt_dlp/utils.py
@@ -6112,11 +6112,11 @@ def traverse_dict(dictn, keys, casesense=True):
key = key.lower()
dictn = dictn.get(key)
elif isinstance(dictn, (list, tuple, compat_str)):
- key, n = int_or_none(key), len(dictn)
- if key is not None and -n <= key < n:
- dictn = dictn[key]
+ if ':' in key:
+ key = slice(*map(int_or_none, key.split(':')))
else:
- dictn = None
+ key = int_or_none(key)
+ dictn = try_get(dictn, lambda x: x[key])
else:
return None
return dictn