]> jfr.im git - yt-dlp.git/commitdiff
[cleanup, ie] Match both `http` and `https` in `_VALID_URL` (#8968)
authorsepro <redacted>
Thu, 1 Feb 2024 18:38:42 +0000 (19:38 +0100)
committerpukkandan <redacted>
Sun, 10 Mar 2024 19:21:38 +0000 (00:51 +0530)
Except for Vimeo, since that causes matching collisions.

Authored by: seproDev

20 files changed:
yt_dlp/extractor/beatbump.py
yt_dlp/extractor/cableav.py
yt_dlp/extractor/camfm.py
yt_dlp/extractor/cineverse.py
yt_dlp/extractor/cybrary.py
yt_dlp/extractor/duoplay.py
yt_dlp/extractor/egghead.py
yt_dlp/extractor/itprotv.py
yt_dlp/extractor/kommunetv.py
yt_dlp/extractor/lecturio.py
yt_dlp/extractor/megaphone.py
yt_dlp/extractor/monstercat.py
yt_dlp/extractor/newspicks.py
yt_dlp/extractor/novaplay.py
yt_dlp/extractor/nzonscreen.py
yt_dlp/extractor/parler.py
yt_dlp/extractor/rbgtum.py
yt_dlp/extractor/rcti.py
yt_dlp/extractor/telequebec.py
yt_dlp/extractor/vice.py

index f48566b2d552f88ca7b6cebe680a18b9767467b4..777a1b3268dfd5c90a21f5d2f1fa9d62cf20618e 100644 (file)
@@ -3,7 +3,7 @@ from .youtube import YoutubeIE, YoutubeTabIE
 
 
 class BeatBumpVideoIE(InfoExtractor):
-    _VALID_URL = r'https://beatbump\.(?:ml|io)/listen\?id=(?P<id>[\w-]+)'
+    _VALID_URL = r'https?://beatbump\.(?:ml|io)/listen\?id=(?P<id>[\w-]+)'
     _TESTS = [{
         'url': 'https://beatbump.ml/listen?id=MgNrAu2pzNs',
         'md5': '5ff3fff41d3935b9810a9731e485fe66',
@@ -48,7 +48,7 @@ class BeatBumpVideoIE(InfoExtractor):
 
 
 class BeatBumpPlaylistIE(InfoExtractor):
-    _VALID_URL = r'https://beatbump\.(?:ml|io)/(?:release\?id=|artist/|playlist/)(?P<id>[\w-]+)'
+    _VALID_URL = r'https?://beatbump\.(?:ml|io)/(?:release\?id=|artist/|playlist/)(?P<id>[\w-]+)'
     _TESTS = [{
         'url': 'https://beatbump.ml/release?id=MPREb_gTAcphH99wE',
         'playlist_count': 50,
index 2e374e5eba0f5521a28ea6b4336325b7238b1ae2..4a221414ea8232bf1959fa6e93ceba5bf487c0a9 100644 (file)
@@ -2,7 +2,7 @@ from .common import InfoExtractor
 
 
 class CableAVIE(InfoExtractor):
-    _VALID_URL = r'https://cableav\.tv/(?P<id>[a-zA-Z0-9]+)'
+    _VALID_URL = r'https?://cableav\.tv/(?P<id>[a-zA-Z0-9]+)'
     _TESTS = [{
         'url': 'https://cableav.tv/lS4iR9lWjN8/',
         'md5': '7e3fe5e49d61c4233b7f5b0f69b15e18',
index a9850f46e0b5d7a9edba8112bd62593e371520a7..11dafa4a21d217b282a74d566b1fb2f7304824f7 100644 (file)
@@ -13,7 +13,7 @@ from ..utils import (
 
 
 class CamFMShowIE(InfoExtractor):
-    _VALID_URL = r'https://(?:www\.)?camfm\.co\.uk/shows/(?P<id>[^/]+)'
+    _VALID_URL = r'https?://(?:www\.)?camfm\.co\.uk/shows/(?P<id>[^/]+)'
     _TESTS = [{
         'playlist_mincount': 5,
         'url': 'https://camfm.co.uk/shows/soul-mining/',
@@ -42,7 +42,7 @@ class CamFMShowIE(InfoExtractor):
 
 
 class CamFMEpisodeIE(InfoExtractor):
-    _VALID_URL = r'https://(?:www\.)?camfm\.co\.uk/player/(?P<id>[^/]+)'
+    _VALID_URL = r'https?://(?:www\.)?camfm\.co\.uk/player/(?P<id>[^/]+)'
     _TESTS = [{
         'url': 'https://camfm.co.uk/player/43336',
         'skip': 'Episode will expire - don\'t actually know when, but it will go eventually',
index 032c4334b12f534058fd627c0c87ca4a39caa122..4405297c62e0937b045223f272f2e0200b2d752f 100644 (file)
@@ -13,7 +13,7 @@ from ..utils import (
 
 
 class CineverseBaseIE(InfoExtractor):
-    _VALID_URL_BASE = r'https://www\.(?P<host>%s)' % '|'.join(map(re.escape, (
+    _VALID_URL_BASE = r'https?://www\.(?P<host>%s)' % '|'.join(map(re.escape, (
         'cineverse.com',
         'asiancrush.com',
         'dovechannel.com',
index 614d0cd9e761436240cb3d1b1126f06dbf79a727..c6995b25b6caa69b6f4c996d27aac59867bb94ab 100644 (file)
@@ -110,7 +110,7 @@ class CybraryIE(CybraryBaseIE):
 
 
 class CybraryCourseIE(CybraryBaseIE):
-    _VALID_URL = r'https://app\.cybrary\.it/browse/course/(?P<id>[\w-]+)/?(?:$|[#?])'
+    _VALID_URL = r'https?://app\.cybrary\.it/browse/course/(?P<id>[\w-]+)/?(?:$|[#?])'
     _TESTS = [{
         'url': 'https://app.cybrary.it/browse/course/az-500-microsoft-azure-security-technologies',
         'info_dict': {
index ebce0b5f2567e4e7839b202d766206e4693c017c..18642fea39291d6c4b664d3bc6042a5b38a0a48c 100644 (file)
@@ -13,7 +13,7 @@ from ..utils.traversal import traverse_obj
 
 
 class DuoplayIE(InfoExtractor):
-    _VALID_URL = r'https://duoplay\.ee/(?P<id>\d+)/[\w-]+/?(?:\?(?:[^#]+&)?ep=(?P<ep>\d+))?'
+    _VALID_URL = r'https?://duoplay\.ee/(?P<id>\d+)/[\w-]+/?(?:\?(?:[^#]+&)?ep=(?P<ep>\d+))?'
     _TESTS = [{
         'note': 'Siberi võmm S02E12',
         'url': 'https://duoplay.ee/4312/siberi-vomm?ep=24',
index a4b2a12f684fabc660d4f12010223d7ba0dfb7c2..c94f3f81f66c7daf6259421471fc3c903088d65f 100644 (file)
@@ -19,7 +19,7 @@ class EggheadBaseIE(InfoExtractor):
 class EggheadCourseIE(EggheadBaseIE):
     IE_DESC = 'egghead.io course'
     IE_NAME = 'egghead:course'
-    _VALID_URL = r'https://(?:app\.)?egghead\.io/(?:course|playlist)s/(?P<id>[^/?#&]+)'
+    _VALID_URL = r'https?://(?:app\.)?egghead\.io/(?:course|playlist)s/(?P<id>[^/?#&]+)'
     _TESTS = [{
         'url': 'https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript',
         'playlist_count': 29,
@@ -65,7 +65,7 @@ class EggheadCourseIE(EggheadBaseIE):
 class EggheadLessonIE(EggheadBaseIE):
     IE_DESC = 'egghead.io lesson'
     IE_NAME = 'egghead:lesson'
-    _VALID_URL = r'https://(?:app\.)?egghead\.io/(?:api/v1/)?lessons/(?P<id>[^/?#&]+)'
+    _VALID_URL = r'https?://(?:app\.)?egghead\.io/(?:api/v1/)?lessons/(?P<id>[^/?#&]+)'
     _TESTS = [{
         'url': 'https://egghead.io/lessons/javascript-linear-data-flow-with-container-style-types-box',
         'info_dict': {
index b9d5c196d065848eb1c0153af60c8704fc7b3cdd..713fd4ec5bd33fbe55e5f2f577197dcaccdcda23 100644 (file)
@@ -31,7 +31,7 @@ class ITProTVBaseIE(InfoExtractor):
 
 
 class ITProTVIE(ITProTVBaseIE):
-    _VALID_URL = r'https://app\.itpro\.tv/course/(?P<course>[\w-]+)/(?P<id>[\w-]+)'
+    _VALID_URL = r'https?://app\.itpro\.tv/course/(?P<course>[\w-]+)/(?P<id>[\w-]+)'
     _TESTS = [{
         'url': 'https://app.itpro.tv/course/guided-tour/introductionitprotv',
         'md5': 'bca4a28c2667fd1a63052e71a94bb88c',
index a30905b579ca9aee62901405f090b283a25f531e..432816cd80da056096a9072c392ea09df415ae93 100644 (file)
@@ -3,7 +3,7 @@ from ..utils import update_url
 
 
 class KommunetvIE(InfoExtractor):
-    _VALID_URL = r'https://\w+\.kommunetv\.no/archive/(?P<id>\w+)'
+    _VALID_URL = r'https?://\w+\.kommunetv\.no/archive/(?P<id>\w+)'
     _TEST = {
         'url': 'https://oslo.kommunetv.no/archive/921',
         'md5': '5f102be308ee759be1e12b63d5da4bbc',
index 795012541cf522d25cdb330effc92210c74eb330..629d208fcce3b30a777d75283f9791f0d22a6144 100644 (file)
@@ -172,7 +172,7 @@ class LecturioIE(LecturioBaseIE):
 
 
 class LecturioCourseIE(LecturioBaseIE):
-    _VALID_URL = r'https://app\.lecturio\.com/(?:[^/]+/(?P<nt>[^/?#&]+)\.course|(?:#/)?course/c/(?P<id>\d+))'
+    _VALID_URL = r'https?://app\.lecturio\.com/(?:[^/]+/(?P<nt>[^/?#&]+)\.course|(?:#/)?course/c/(?P<id>\d+))'
     _TESTS = [{
         'url': 'https://app.lecturio.com/medical-courses/microbiology-introduction.course#/',
         'info_dict': {
@@ -209,7 +209,7 @@ class LecturioCourseIE(LecturioBaseIE):
 
 
 class LecturioDeCourseIE(LecturioBaseIE):
-    _VALID_URL = r'https://(?:www\.)?lecturio\.de/[^/]+/(?P<id>[^/?#&]+)\.kurs'
+    _VALID_URL = r'https?://(?:www\.)?lecturio\.de/[^/]+/(?P<id>[^/?#&]+)\.kurs'
     _TEST = {
         'url': 'https://www.lecturio.de/jura/grundrechte.kurs',
         'only_matching': True,
index eb790e69184bfb80bcd4e071cc86431fd2169540..d249a8492d9075ed79a79279b6b435c404bf77fd 100644 (file)
@@ -5,7 +5,7 @@ from ..utils import js_to_json
 class MegaphoneIE(InfoExtractor):
     IE_NAME = 'megaphone.fm'
     IE_DESC = 'megaphone.fm embedded players'
-    _VALID_URL = r'https://player\.megaphone\.fm/(?P<id>[A-Z0-9]+)'
+    _VALID_URL = r'https?://player\.megaphone\.fm/(?P<id>[A-Z0-9]+)'
     _EMBED_REGEX = [rf'<iframe[^>]*?\ssrc=["\'](?P<url>{_VALID_URL})']
     _TEST = {
         'url': 'https://player.megaphone.fm/GLT9749789991',
index cf5e0996914f97527cfed6e8b1b4573b9ba47582..a69a12e18cf53de0e79341c18cfd624efaed978d 100644 (file)
@@ -16,7 +16,7 @@ from ..utils import (
 
 
 class MonstercatIE(InfoExtractor):
-    _VALID_URL = r'https://www\.monstercat\.com/release/(?P<id>\d+)'
+    _VALID_URL = r'https?://www\.monstercat\.com/release/(?P<id>\d+)'
     _TESTS = [{
         'url': 'https://www.monstercat.com/release/742779548009',
         'playlist_count': 20,
index b6334dcbafa59304f33cbfcebe06f4981ead1623..4a1cb0a73596c0d0084a0eba7cf8d4a83975f6a7 100644 (file)
@@ -5,7 +5,7 @@ from ..utils import ExtractorError
 
 
 class NewsPicksIE(InfoExtractor):
-    _VALID_URL = r'https://newspicks\.com/movie-series/(?P<channel_id>\d+)\?movieId=(?P<id>\d+)'
+    _VALID_URL = r'https?://newspicks\.com/movie-series/(?P<channel_id>\d+)\?movieId=(?P<id>\d+)'
 
     _TESTS = [{
         'url': 'https://newspicks.com/movie-series/11?movieId=1813',
index 77ae03fd0b66253e25588784c224ff2172d57958..adab33f59ec00204218a9d1857293886f239fd1e 100644 (file)
@@ -3,7 +3,7 @@ from ..utils import int_or_none, parse_duration, parse_iso8601
 
 
 class NovaPlayIE(InfoExtractor):
-    _VALID_URL = r'https://play\.nova\.bg/video/[^?#]+/(?P<id>\d+)'
+    _VALID_URL = r'https?://play\.nova\.bg/video/[^?#]+/(?P<id>\d+)'
     _TESTS = [
         {
             'url': 'https://play.nova.bg/video/ochakvaite/season-0/ochakvaite-2022-07-22-sybudi-se-sat/606627',
index 6926bc5b2f7ecfc2222702940053dbcc91087368..bf2dbca59ca63b0d18cb30f3bc9250210814e9ee 100644 (file)
@@ -10,7 +10,7 @@ from ..utils import (
 
 
 class NZOnScreenIE(InfoExtractor):
-    _VALID_URL = r'^https://www\.nzonscreen\.com/title/(?P<id>[^/?#]+)'
+    _VALID_URL = r'^https?://www\.nzonscreen\.com/title/(?P<id>[^/?#]+)'
     _TESTS = [{
         'url': 'https://www.nzonscreen.com/title/shoop-shoop-diddy-wop-cumma-cumma-wang-dang-1982',
         'info_dict': {
index 2af805e7f31f93a8050ab7d30e6727393ac677a6..563012f355b6543c90e89f60782ddb5805f51b4e 100644 (file)
@@ -14,7 +14,7 @@ from ..utils import (
 
 class ParlerIE(InfoExtractor):
     IE_DESC = 'Posts on parler.com'
-    _VALID_URL = r'https://parler\.com/feed/(?P<id>[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})'
+    _VALID_URL = r'https?://parler\.com/feed/(?P<id>[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})'
     _TESTS = [
         {
             'url': 'https://parler.com/feed/df79fdba-07cc-48fe-b085-3293897520d7',
index c8a331f3ee65cd32c4901139d5155f37c80dc9e1..54f194cbda7825d973cd2bf0e6ed506e8f28afdc 100644 (file)
@@ -5,7 +5,7 @@ from ..utils import parse_qs, remove_start, traverse_obj, ExtractorError
 
 
 class RbgTumIE(InfoExtractor):
-    _VALID_URL = r'https://(?:live\.rbg\.tum\.de|tum\.live)/w/(?P<id>[^?#]+)'
+    _VALID_URL = r'https?://(?:live\.rbg\.tum\.de|tum\.live)/w/(?P<id>[^?#]+)'
     _TESTS = [{
         # Combined view
         'url': 'https://live.rbg.tum.de/w/cpp/22128',
@@ -60,7 +60,7 @@ class RbgTumIE(InfoExtractor):
 
 
 class RbgTumCourseIE(InfoExtractor):
-    _VALID_URL = r'https://(?P<hostname>(?:live\.rbg\.tum\.de|tum\.live))/old/course/(?P<id>(?P<year>\d+)/(?P<term>\w+)/(?P<slug>[^/?#]+))'
+    _VALID_URL = r'https?://(?P<hostname>(?:live\.rbg\.tum\.de|tum\.live))/old/course/(?P<id>(?P<year>\d+)/(?P<term>\w+)/(?P<slug>[^/?#]+))'
     _TESTS = [{
         'url': 'https://live.rbg.tum.de/old/course/2022/S/fpv',
         'info_dict': {
@@ -105,7 +105,7 @@ class RbgTumCourseIE(InfoExtractor):
 
 
 class RbgTumNewCourseIE(InfoExtractor):
-    _VALID_URL = r'https://(?P<hostname>(?:live\.rbg\.tum\.de|tum\.live))/\?'
+    _VALID_URL = r'https?://(?P<hostname>(?:live\.rbg\.tum\.de|tum\.live))/\?'
     _TESTS = [{
         'url': 'https://live.rbg.tum.de/?year=2022&term=S&slug=fpv&view=3',
         'info_dict': {
index 2f50efeda7102098b568103ee6911b96c324af09..6a7c7f399160de7ffd6ab962143629913806a66b 100644 (file)
@@ -28,7 +28,7 @@ class RCTIPlusBaseIE(InfoExtractor):
 
 
 class RCTIPlusIE(RCTIPlusBaseIE):
-    _VALID_URL = r'https://www\.rctiplus\.com/(?:programs/\d+?/.*?/)?(?P<type>episode|clip|extra|live-event|missed-event)/(?P<id>\d+)/(?P<display_id>[^/?#&]+)'
+    _VALID_URL = r'https?://www\.rctiplus\.com/(?:programs/\d+?/.*?/)?(?P<type>episode|clip|extra|live-event|missed-event)/(?P<id>\d+)/(?P<display_id>[^/?#&]+)'
     _TESTS = [{
         'url': 'https://www.rctiplus.com/programs/1259/kiko-untuk-lola/episode/22124/untuk-lola',
         'md5': '56ed45affad45fa18d5592a1bc199997',
@@ -218,7 +218,7 @@ class RCTIPlusIE(RCTIPlusBaseIE):
 
 
 class RCTIPlusSeriesIE(RCTIPlusBaseIE):
-    _VALID_URL = r'https://www\.rctiplus\.com/programs/(?P<id>\d+)/(?P<display_id>[^/?#&]+)(?:/(?P<type>episodes|extras|clips))?'
+    _VALID_URL = r'https?://www\.rctiplus\.com/programs/(?P<id>\d+)/(?P<display_id>[^/?#&]+)(?:/(?P<type>episodes|extras|clips))?'
     _TESTS = [{
         'url': 'https://www.rctiplus.com/programs/829/putri-untuk-pangeran',
         'playlist_mincount': 1019,
@@ -336,7 +336,7 @@ class RCTIPlusSeriesIE(RCTIPlusBaseIE):
 
 
 class RCTIPlusTVIE(RCTIPlusBaseIE):
-    _VALID_URL = r'https://www\.rctiplus\.com/((tv/(?P<tvname>\w+))|(?P<eventname>live-event|missed-event))'
+    _VALID_URL = r'https?://www\.rctiplus\.com/((tv/(?P<tvname>\w+))|(?P<eventname>live-event|missed-event))'
     _TESTS = [{
         'url': 'https://www.rctiplus.com/tv/rcti',
         'info_dict': {
index e89137269a23fa0966d754112d7b50a1025ade77..08a083714e55c53bbe922dc42f203bdbea5f8883 100644 (file)
@@ -83,7 +83,7 @@ class TeleQuebecIE(TeleQuebecBaseIE):
 
 
 class TeleQuebecSquatIE(InfoExtractor):
-    _VALID_URL = r'https://squat\.telequebec\.tv/videos/(?P<id>\d+)'
+    _VALID_URL = r'https?://squat\.telequebec\.tv/videos/(?P<id>\d+)'
     _TESTS = [{
         'url': 'https://squat.telequebec.tv/videos/9314',
         'info_dict': {
index 1a2d667e70c05d933db7d661545cdeb680bedc17..d31908fb126465a5e0edb16c3d75cd10547aec38 100644 (file)
@@ -224,7 +224,7 @@ class ViceShowIE(ViceBaseIE):
 
 class ViceArticleIE(ViceBaseIE):
     IE_NAME = 'vice:article'
-    _VALID_URL = r'https://(?:www\.)?vice\.com/(?P<locale>[^/]+)/article/(?:[0-9a-z]{6}/)?(?P<id>[^?#]+)'
+    _VALID_URL = r'https?://(?:www\.)?vice\.com/(?P<locale>[^/]+)/article/(?:[0-9a-z]{6}/)?(?P<id>[^?#]+)'
 
     _TESTS = [{
         'url': 'https://www.vice.com/en_us/article/on-set-with-the-woman-making-mormon-porn-in-utah',