From ff91cf748343c41a74b09120896feccd390f91ce Mon Sep 17 00:00:00 2001 From: pukkandan Date: Wed, 9 Mar 2022 02:24:41 +0530 Subject: [utils] Add `get_first` --- yt_dlp/utils.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'yt_dlp/utils.py') diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index 10a9a72ff..9b130e109 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -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,) -- cgit v1.2.3