projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[pbs] Update some tests
[youtube-dl]
/
youtube_dl
/
utils.py
diff --git
a/youtube_dl/utils.py
b/youtube_dl/utils.py
index 652dba59d59528fa1dd9fd58fb3052e9ccb5623f..dce67de8ac323441926aa1337153e193b88f8c0a 100644
(file)
--- a/
youtube_dl/utils.py
+++ b/
youtube_dl/utils.py
@@
-1717,11
+1717,12
@@
def encode_dict(d, encoding='utf-8'):
return dict((encode(k), encode(v)) for k, v in d.items())
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 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)
return default
return d.get(key_or_keys, default)
@@
-1748,7
+1749,7
@@
def parse_age_limit(s):
def strip_jsonp(code):
return re.sub(
def strip_jsonp(code):
return re.sub(
- r'(?s)^[a-zA-Z0-9_]+\s*\(\s*(.*)\);?\s*?(?://[^\n]*)*$', r'\1', code)
+ r'(?s)^[a-zA-Z0-9_
.
]+\s*\(\s*(.*)\);?\s*?(?://[^\n]*)*$', r'\1', code)
def js_to_json(code):
def js_to_json(code):