diff options
author | doe1080 <98906116+doe1080@users.noreply.github.com> | 2025-04-07 03:46:08 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-06 20:46:08 +0200 |
commit | a473e592337edb8ca40cde52c1fcaee261c54df9 (patch) | |
tree | 152c5dcd3bb6bb70eca37b0beba16890f130c289 | |
parent | 45f01de00e1bc076b7f676a669736326178647b1 (diff) |
[utils] `url_or_none`: Support WebSocket URLs (#12848)
Authored by: doe1080
-rw-r--r-- | test/test_utils.py | 2 | ||||
-rw-r--r-- | yt_dlp/utils/_utils.py | 2 |
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): |