mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-08-22 11:21:32 +00:00
Adds SouthParkComBrIE and SouthParkCoUkIE Removes these extractors: - CMTIE: migrated to Paramount+ - ComedyCentralTVIE: migrated to Paramount+ - MTVDEIE: migrated to Paramount+ - MTVItaliaIE: migrated to Paramount+ - MTVItaliaProgrammaIE: migrated to Paramount+ - MTVJapanIE: migrated to JP Services - MTVServicesEmbeddedIE: dead domain - MTVVideoIE: migrated to Paramount+ - NickBrIE: redirects to landing page w/o any videos - NickDeIE: redirects to landing page w/o any videos - NickRuIE: redirects to landing page w/o any videos - BellatorIE: migrated to PFL - ParamountNetworkIE: migrated to Paramount+ - SouthParkNlIE: site no longer exists - TVLandIE: migrated to Paramount+ Closes #169, Closes #1711, Closes #1712, Closes #2621, Closes #3167, Closes #3893, Closes #4552, Closes #4702, Closes #4928, Closes #5249, Closes #6156, Closes #8722, Closes #9896, Closes #10168, Closes #12765, Closes #13446, Closes #14009 Authored by: bashonly, doe1080, Randalix, seproDev Co-authored-by: doe1080 <98906116+doe1080@users.noreply.github.com> Co-authored-by: Randalix <23729538+Randalix@users.noreply.github.com> Co-authored-by: sepro <sepro@sepr0.com>
355 lines
15 KiB
Python
355 lines
15 KiB
Python
from .mtv import MTVServicesBaseIE
|
|
|
|
|
|
class SouthParkIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southpark.cc.com'
|
|
_VALID_URL = r'https?://(?:www\.)?southpark(?:\.cc|studios)\.com/(?:video-clips|episodes|collections)/(?P<id>[^?#]+)'
|
|
_TESTS = [{
|
|
'url': 'https://southpark.cc.com/video-clips/d7wr06/south-park-you-all-agreed-to-counseling',
|
|
'info_dict': {
|
|
'id': '31929ad5-8269-11eb-8774-70df2f866ace',
|
|
'ext': 'mp4',
|
|
'display_id': 'd7wr06/south-park-you-all-agreed-to-counseling',
|
|
'title': 'You All Agreed to Counseling',
|
|
'description': 'md5:01f78fb306c7042f3f05f3c78edfc212',
|
|
'duration': 134.552,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 24',
|
|
'season_number': 24,
|
|
'episode': 'Episode 2',
|
|
'episode_number': 2,
|
|
'timestamp': 1615352400,
|
|
'upload_date': '20210310',
|
|
'release_timestamp': 1615352400,
|
|
'release_date': '20210310',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://southpark.cc.com/episodes/940f8z/south-park-cartman-gets-an-anal-probe-season-1-ep-1',
|
|
'info_dict': {
|
|
'id': '5fb8887e-ecfd-11e0-aca6-0026b9414f30',
|
|
'ext': 'mp4',
|
|
'display_id': '940f8z/south-park-cartman-gets-an-anal-probe-season-1-ep-1',
|
|
'title': 'Cartman Gets An Anal Probe',
|
|
'description': 'md5:964e1968c468545752feef102b140300',
|
|
'channel': 'Comedy Central',
|
|
'duration': 1319.0,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 1',
|
|
'season_number': 1,
|
|
'episode': 'Episode 1',
|
|
'episode_number': 1,
|
|
'timestamp': 871473600,
|
|
'upload_date': '19970813',
|
|
'release_timestamp': 871473600,
|
|
'release_date': '19970813',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://southpark.cc.com/collections/dejukt/south-park-best-of-mr-mackey/tphx9j',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southparkstudios.com/episodes/h4o269/south-park-stunning-and-brave-season-19-ep-1',
|
|
'only_matching': True,
|
|
}]
|
|
|
|
|
|
class SouthParkEsIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southpark.cc.com:español'
|
|
_VALID_URL = r'https?://(?:www\.)?southpark\.cc\.com/es/episodios/(?P<id>[^?#]+)'
|
|
_TESTS = [{
|
|
'url': 'https://southpark.cc.com/es/episodios/er4a32/south-park-aumento-de-peso-4000-temporada-1-ep-2',
|
|
'info_dict': {
|
|
'id': '5fb94f0c-ecfd-11e0-aca6-0026b9414f30',
|
|
'ext': 'mp4',
|
|
'display_id': 'er4a32/south-park-aumento-de-peso-4000-temporada-1-ep-2',
|
|
'title': 'Aumento de peso 4000',
|
|
'description': 'md5:a939b4819ea74c245a0cde180de418c0',
|
|
'channel': 'Comedy Central',
|
|
'duration': 1320.0,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 1',
|
|
'season_number': 1,
|
|
'episode': 'Episode 2',
|
|
'episode_number': 2,
|
|
'timestamp': 872078400,
|
|
'upload_date': '19970820',
|
|
'release_timestamp': 872078400,
|
|
'release_date': '19970820',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}]
|
|
|
|
|
|
class SouthParkDeIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southpark.de'
|
|
_VALID_URL = r'https?://(?:www\.)?southpark\.de/(?:en/)?(?:videoclip|collections|episodes|video-clips|folgen)/(?P<id>[^?#]+)'
|
|
_GEO_COUNTRIES = ['DE']
|
|
_GEO_BYPASS = True
|
|
_TESTS = [{
|
|
'url': 'https://www.southpark.de/videoclip/rsribv/south-park-rueckzug-zum-gummibonbon-wald',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southpark.de/folgen/jiru42/south-park-verkabelung-staffel-23-ep-9',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southpark.de/collections/zzno5a/south-park-good-eats/7q26gp',
|
|
'only_matching': True,
|
|
}, {
|
|
# clip
|
|
'url': 'https://www.southpark.de/en/video-clips/ct46op/south-park-tooth-fairy-cartman',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': 'e99d45ea-ed00-11e0-aca6-0026b9414f30',
|
|
'display_id': 'ct46op/south-park-tooth-fairy-cartman',
|
|
'title': 'Tooth Fairy Cartman',
|
|
'description': 'Cartman steals Butters\' tooth and gets four dollars for it.',
|
|
'duration': 93.26,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 4',
|
|
'season_number': 4,
|
|
'episode': 'Episode 1',
|
|
'episode_number': 1,
|
|
'timestamp': 954990360,
|
|
'upload_date': '20000406',
|
|
'release_timestamp': 954990360,
|
|
'release_date': '20000406',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
# episode
|
|
'url': 'https://www.southpark.de/en/episodes/yy0vjs/south-park-the-pandemic-special-season-24-ep-1',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': '230a4f02-f583-11ea-834d-70df2f866ace',
|
|
'display_id': 'yy0vjs/south-park-the-pandemic-special-season-24-ep-1',
|
|
'title': 'The Pandemic Special',
|
|
'description': 'md5:ae0d875eff169dcbed16b21531857ac1',
|
|
'channel': 'Comedy Central',
|
|
'duration': 2724.0,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 24',
|
|
'season_number': 24,
|
|
'episode': 'Episode 1',
|
|
'episode_number': 1,
|
|
'timestamp': 1601932260,
|
|
'upload_date': '20201005',
|
|
'release_timestamp': 1601932270,
|
|
'release_date': '20201005',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
# clip
|
|
'url': 'https://www.southpark.de/videoclip/ct46op/south-park-zahnfee-cartman',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': 'e99d45ea-ed00-11e0-aca6-0026b9414f30',
|
|
'display_id': 'ct46op/south-park-zahnfee-cartman',
|
|
'title': 'Zahnfee Cartman',
|
|
'description': 'md5:b917eec991d388811d911fd1377671ac',
|
|
'duration': 93.26,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 4',
|
|
'season_number': 4,
|
|
'episode': 'Episode 1',
|
|
'episode_number': 1,
|
|
'timestamp': 954990360,
|
|
'upload_date': '20000406',
|
|
'release_timestamp': 954990360,
|
|
'release_date': '20000406',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
# episode
|
|
'url': 'https://www.southpark.de/folgen/4r4367/south-park-katerstimmung-staffel-12-ep-3',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': '68c79aa4-ecfd-11e0-aca6-0026b9414f30',
|
|
'display_id': '4r4367/south-park-katerstimmung-staffel-12-ep-3',
|
|
'title': 'Katerstimmung',
|
|
'description': 'md5:94e0e2cd568ffa635e0725518bb4b180',
|
|
'channel': 'Comedy Central',
|
|
'duration': 1320.0,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 12',
|
|
'season_number': 12,
|
|
'episode': 'Episode 3',
|
|
'episode_number': 3,
|
|
'timestamp': 1206504000,
|
|
'upload_date': '20080326',
|
|
'release_timestamp': 1206504000,
|
|
'release_date': '20080326',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}]
|
|
|
|
|
|
class SouthParkLatIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southpark.lat'
|
|
_VALID_URL = r'https?://(?:www\.)?southpark\.lat/(?:en/)?(?:video-?clips?|collections|episod(?:e|io)s)/(?P<id>[^?#]+)'
|
|
_GEO_COUNTRIES = ['MX']
|
|
_GEO_BYPASS = True
|
|
_TESTS = [{
|
|
'url': 'https://www.southpark.lat/en/video-clips/ct46op/south-park-tooth-fairy-cartman',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': 'e99d45ea-ed00-11e0-aca6-0026b9414f30',
|
|
'display_id': 'ct46op/south-park-tooth-fairy-cartman',
|
|
'title': 'Tooth Fairy Cartman',
|
|
'description': 'Cartman steals Butters\' tooth and gets four dollars for it.',
|
|
'duration': 93.26,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 4',
|
|
'season_number': 4,
|
|
'episode': 'Episode 1',
|
|
'episode_number': 1,
|
|
'timestamp': 954990360,
|
|
'upload_date': '20000406',
|
|
'release_timestamp': 954990360,
|
|
'release_date': '20000406',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://www.southpark.lat/episodios/9h0qbg/south-park-orgia-gatuna-temporada-3-ep-7',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': '600d273a-ecfd-11e0-aca6-0026b9414f30',
|
|
'display_id': '9h0qbg/south-park-orgia-gatuna-temporada-3-ep-7',
|
|
'title': 'Orgía Gatuna ',
|
|
'description': 'md5:73c6648413f5977026abb792a25c65d5',
|
|
'channel': 'Comedy Central',
|
|
'duration': 1319.0,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 3',
|
|
'season_number': 3,
|
|
'episode': 'Episode 7',
|
|
'episode_number': 7,
|
|
'timestamp': 931924800,
|
|
'upload_date': '19990714',
|
|
'release_timestamp': 931924800,
|
|
'release_date': '19990714',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://www.southpark.lat/en/collections/29ve08/south-park-heating-up/lydbrc',
|
|
'only_matching': True,
|
|
}]
|
|
|
|
|
|
class SouthParkDkIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southparkstudios.nu'
|
|
_VALID_URL = r'https?://(?:www\.)?southparkstudios\.nu/(?:video-clips|episodes|collections)/(?P<id>[^?#]+)'
|
|
_GEO_COUNTRIES = ['DK']
|
|
_GEO_BYPASS = True
|
|
_TESTS = [{
|
|
'url': 'https://www.southparkstudios.nu/episodes/y3uvvc/south-park-grounded-vindaloop-season-18-ep-7',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': 'f60690a7-21a7-4ee7-8834-d7099a8707ab',
|
|
'display_id': 'y3uvvc/south-park-grounded-vindaloop-season-18-ep-7',
|
|
'title': 'Grounded Vindaloop',
|
|
'description': 'Butters is convinced he\'s living in a virtual reality.',
|
|
'channel': 'Comedy Central',
|
|
'duration': 1319.0,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 18',
|
|
'season_number': 18,
|
|
'episode': 'Episode 7',
|
|
'episode_number': 7,
|
|
'timestamp': 1415847600,
|
|
'upload_date': '20141113',
|
|
'release_timestamp': 1415768400,
|
|
'release_date': '20141112',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://www.southparkstudios.nu/collections/8dk7kr/south-park-best-of-south-park/sd5ean',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southparkstudios.nu/video-clips/k42mrf/south-park-kick-the-baby',
|
|
'only_matching': True,
|
|
}]
|
|
|
|
|
|
class SouthParkComBrIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southparkstudios.com.br'
|
|
_VALID_URL = r'https?://(?:www\.)?southparkstudios\.com\.br/(?:en/)?(?:video-clips|episodios|collections|episodes)/(?P<id>[^?#]+)'
|
|
_GEO_COUNTRIES = ['BR']
|
|
_GEO_BYPASS = True
|
|
_TESTS = [{
|
|
'url': 'https://www.southparkstudios.com.br/video-clips/3vifo0/south-park-welcome-to-mar-a-lago7',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': 'ccc3e952-7352-11f0-b405-16fff45bc035',
|
|
'display_id': '3vifo0/south-park-welcome-to-mar-a-lago7',
|
|
'title': 'Welcome to Mar-a-Lago',
|
|
'description': 'The President welcomes Mr. Mackey to Mar-a-Lago, a magical place where anything can happen.',
|
|
'duration': 139.223,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 27',
|
|
'season_number': 27,
|
|
'episode': 'Episode 2',
|
|
'episode_number': 2,
|
|
'timestamp': 1754546400,
|
|
'upload_date': '20250807',
|
|
'release_timestamp': 1754546400,
|
|
'release_date': '20250807',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://www.southparkstudios.com.br/episodios/940f8z/south-park-cartman-ganha-uma-sonda-anal-temporada-1-ep-1',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southparkstudios.com.br/collections/8dk7kr/south-park-best-of-south-park/sd5ean',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southparkstudios.com.br/en/episodes/5v0oap/south-park-south-park-the-25th-anniversary-concert-ep-1',
|
|
'only_matching': True,
|
|
}]
|
|
|
|
|
|
class SouthParkCoUkIE(MTVServicesBaseIE):
|
|
IE_NAME = 'southparkstudios.co.uk'
|
|
_VALID_URL = r'https?://(?:www\.)?southparkstudios\.co\.uk/(?:video-clips|collections|episodes)/(?P<id>[^?#]+)'
|
|
_GEO_COUNTRIES = ['UK']
|
|
_GEO_BYPASS = True
|
|
_TESTS = [{
|
|
'url': 'https://www.southparkstudios.co.uk/video-clips/8kabfr/south-park-respectclydesauthority',
|
|
'info_dict': {
|
|
'ext': 'mp4',
|
|
'id': 'f6d9af23-734e-11f0-b405-16fff45bc035',
|
|
'display_id': '8kabfr/south-park-respectclydesauthority',
|
|
'title': '#RespectClydesAuthority',
|
|
'description': 'After learning about Clyde\'s Podcast, Cartman needs to see it for himself.',
|
|
'duration': 45.045,
|
|
'thumbnail': r're:https://images\.paramount\.tech/uri/mgid:arc:imageassetref:',
|
|
'series': 'South Park',
|
|
'season': 'Season 27',
|
|
'season_number': 27,
|
|
'episode': 'Episode 2',
|
|
'episode_number': 2,
|
|
'timestamp': 1754546400,
|
|
'upload_date': '20250807',
|
|
'release_timestamp': 1754546400,
|
|
'release_date': '20250807',
|
|
},
|
|
'params': {'skip_download': 'm3u8'},
|
|
}, {
|
|
'url': 'https://www.southparkstudios.co.uk/episodes/e1yoxn/south-park-imaginationland-season-11-ep-10',
|
|
'only_matching': True,
|
|
}, {
|
|
'url': 'https://www.southparkstudios.co.uk/collections/8dk7kr/south-park-best-of-south-park/sd5ean',
|
|
'only_matching': True,
|
|
}]
|