]> jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/comedycentral.py
[ie/matchtv] Fix extractor (#10190)
[yt-dlp.git] / yt_dlp / extractor / comedycentral.py
1 from .mtv import MTVServicesInfoExtractor
2
3
4 class ComedyCentralIE(MTVServicesInfoExtractor):
5 _VALID_URL = r'https?://(?:www\.)?cc\.com/(?:episodes|video(?:-clips)?|collection-playlist|movies)/(?P<id>[0-9a-z]{6})'
6 _FEED_URL = 'http://comedycentral.com/feeds/mrss/'
7
8 _TESTS = [{
9 'url': 'http://www.cc.com/video-clips/5ke9v2/the-daily-show-with-trevor-noah-doc-rivers-and-steve-ballmer---the-nba-player-strike',
10 'md5': 'b8acb347177c680ff18a292aa2166f80',
11 'info_dict': {
12 'id': '89ccc86e-1b02-4f83-b0c9-1d9592ecd025',
13 'ext': 'mp4',
14 'title': 'The Daily Show with Trevor Noah|August 28, 2020|25|25149|Doc Rivers and Steve Ballmer - The NBA Player Strike',
15 'description': 'md5:5334307c433892b85f4f5e5ac9ef7498',
16 'timestamp': 1598670000,
17 'upload_date': '20200829',
18 },
19 }, {
20 'url': 'http://www.cc.com/episodes/pnzzci/drawn-together--american-idol--parody-clip-show-season-3-ep-314',
21 'only_matching': True,
22 }, {
23 'url': 'https://www.cc.com/video/k3sdvm/the-daily-show-with-jon-stewart-exclusive-the-fourth-estate',
24 'only_matching': True,
25 }, {
26 'url': 'https://www.cc.com/collection-playlist/cosnej/stand-up-specials/t6vtjb',
27 'only_matching': True,
28 }, {
29 'url': 'https://www.cc.com/movies/tkp406/a-cluesterfuenke-christmas',
30 'only_matching': True,
31 }]
32
33
34 class ComedyCentralTVIE(MTVServicesInfoExtractor):
35 _VALID_URL = r'https?://(?:www\.)?comedycentral\.tv/folgen/(?P<id>[0-9a-z]{6})'
36 _TESTS = [{
37 'url': 'https://www.comedycentral.tv/folgen/pxdpec/josh-investigates-klimawandel-staffel-1-ep-1',
38 'info_dict': {
39 'id': '15907dc3-ec3c-11e8-a442-0e40cf2fc285',
40 'ext': 'mp4',
41 'title': 'Josh Investigates',
42 'description': 'Steht uns das Ende der Welt bevor?',
43 },
44 }]
45 _FEED_URL = 'http://feeds.mtvnservices.com/od/feed/intl-mrss-player-feed'
46 _GEO_COUNTRIES = ['DE']
47
48 def _get_feed_query(self, uri):
49 return {
50 'accountOverride': 'intl.mtvi.com',
51 'arcEp': 'web.cc.tv',
52 'ep': 'b9032c3a',
53 'imageEp': 'web.cc.tv',
54 'mgid': uri,
55 }