X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=youtube_dl%2Futils.py;h=b84436ed64cc264659dd0a70811e2812612709cc;hb=af03000ad5a445f03fbacb63ce626f8dcfe785c7;hp=8c45166d76cd1d9150e67ba26f80ce61cb8c275c;hpb=0685d9727b9657fc8a31c96cb52c4155de29fcfc;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 8c45166d7..b84436ed6 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1866,6 +1866,13 @@ def strip_or_none(v): return None if v is None else v.strip() +def url_or_none(url): + if not url or not isinstance(url, compat_str): + return None + url = url.strip() + return url if re.match(r'^(?:[a-zA-Z][\da-zA-Z.+-]*:)?//', url) else None + + def parse_duration(s): if not isinstance(s, compat_basestring): return None @@ -2282,7 +2289,7 @@ def parse_age_limit(s): def strip_jsonp(code): return re.sub( r'''(?sx)^ - (?:window\.)?(?P[a-zA-Z0-9_.$]+) + (?:window\.)?(?P[a-zA-Z0-9_.$]*) (?:\s*&&\s*(?P=func_name))? \s*\(\s*(?P.*)\);? \s*?(?://[^\n]*)*$''',