[utils] Add ability to control skipping false values in dict_get
[youtube-dl] / youtube_dl / utils.py
index 652dba59d59528fa1dd9fd58fb3052e9ccb5623f..f3b0180abb050173099e03ccde81c8412898e19f 100644 (file)
@@ -1717,11 +1717,12 @@ def encode_dict(d, encoding='utf-8'):
     return dict((encode(k), encode(v)) for k, v in d.items())
 
 
-def dict_get(d, key_or_keys, default=None):
+def dict_get(d, key_or_keys, default=None, skip_false_values=True):
     if isinstance(key_or_keys, (list, tuple)):
         for key in key_or_keys:
-            if d.get(key):
-                return d[key]
+            if key not in d or d[key] is None or skip_false_values and not d[key]:
+                continue
+            return d[key]
         return default
     return d.get(key_or_keys, default)