aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoe1080 <98906116+doe1080@users.noreply.github.com>2025-04-07 03:46:08 +0900
committerGitHub <noreply@github.com>2025-04-06 20:46:08 +0200
commita473e592337edb8ca40cde52c1fcaee261c54df9 (patch)
tree152c5dcd3bb6bb70eca37b0beba16890f130c289
parent45f01de00e1bc076b7f676a669736326178647b1 (diff)
[utils] `url_or_none`: Support WebSocket URLs (#12848)
Authored by: doe1080
-rw-r--r--test/test_utils.py2
-rw-r--r--yt_dlp/utils/_utils.py2
2 files changed, 3 insertions, 1 deletions
diff --git a/test/test_utils.py b/test/test_utils.py
index e60ceed8f..aedb565ec 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -659,6 +659,8 @@ class TestUtil(unittest.TestCase):
self.assertEqual(url_or_none('mms://foo.de'), 'mms://foo.de')
self.assertEqual(url_or_none('rtspu://foo.de'), 'rtspu://foo.de')
self.assertEqual(url_or_none('ftps://foo.de'), 'ftps://foo.de')
+ self.assertEqual(url_or_none('ws://foo.de'), 'ws://foo.de')
+ self.assertEqual(url_or_none('wss://foo.de'), 'wss://foo.de')
def test_parse_age_limit(self):
self.assertEqual(parse_age_limit(None), None)
diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py
index 24525560e..99d725087 100644
--- a/yt_dlp/utils/_utils.py
+++ b/yt_dlp/utils/_utils.py
@@ -2044,7 +2044,7 @@ def url_or_none(url):
if not url or not isinstance(url, str):
return None
url = url.strip()
- return url if re.match(r'(?:(?:https?|rt(?:m(?:pt?[es]?|fp)|sp[su]?)|mms|ftps?):)?//', url) else None
+ return url if re.match(r'(?:(?:https?|rt(?:m(?:pt?[es]?|fp)|sp[su]?)|mms|ftps?|wss?):)?//', url) else None
def strftime_or_none(timestamp, date_format='%Y%m%d', default=None):