diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 2340bc306..79a337df4 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -2103,13 +2103,16 @@ def dict_get(d, key_or_keys, default=None, skip_false_values=True):  def try_get(src, getter, expected_type=None): -    try: -        v = getter(src) -    except (AttributeError, KeyError, TypeError, IndexError): -        pass -    else: -        if expected_type is None or isinstance(v, expected_type): -            return v +    if not isinstance(getter, (list, tuple)): +        getter = [getter] +    for get in getter: +        try: +            v = get(src) +        except (AttributeError, KeyError, TypeError, IndexError): +            pass +        else: +            if expected_type is None or isinstance(v, expected_type): +                return v  def encode_compat_str(string, encoding=preferredencoding(), errors='strict'):  | 
