[utils] Introduce url_or_none
[youtube-dl] / youtube_dl / utils.py
index b8700efcbd6860c74e5a96b5ed7790aaa26fbd94..b84436ed64cc264659dd0a70811e2812612709cc 100644 (file)
@@ -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