]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/utils.py
[utils] Add `get_first`
[yt-dlp.git] / yt_dlp / utils.py
index 10a9a72ff413b85e52447a0bd2e4d07a3eb7a8bc..9b130e109b1c535008491226f8e7589e1f52d4a0 100644 (file)
@@ -5218,6 +5218,10 @@ def traverse_dict(dictn, keys, casesense=True):
     return traverse_obj(dictn, keys, casesense=casesense, is_user_input=True, traverse_string=True)
 
 
+def get_first(obj, keys, **kwargs):
+    return traverse_obj(obj, (..., *variadic(keys)), **kwargs, get_all=False)
+
+
 def variadic(x, allowed_types=(str, bytes, dict)):
     return x if isinstance(x, collections.abc.Iterable) and not isinstance(x, allowed_types) else (x,)