]>
Commit | Line | Data |
---|---|---|
dcdb292f | 1 | # coding: utf-8 |
d55433bb | 2 | from __future__ import unicode_literals |
5a6fecc3 | 3 | |
84db8181 | 4 | from .mtv import MTVServicesInfoExtractor |
5a6fecc3 JMF |
5 | |
6 | ||
10d00a75 JMF |
7 | class SouthParkIE(MTVServicesInfoExtractor): |
8 | IE_NAME = 'southpark.cc.com' | |
10db0d2f | 9 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark(?:\.cc|studios)\.com/(?:clips|(?:full-)?episodes|collections)/(?P<id>.+?)(\?|#|$))' |
5a6fecc3 | 10 | |
10db0d2f | 11 | _FEED_URL = 'http://feeds.mtvnservices.com/od/feed/intl-mrss-player-feed' |
5a6fecc3 | 12 | |
1672647a | 13 | _TESTS = [{ |
10d00a75 | 14 | 'url': 'http://southpark.cc.com/clips/104437/bat-daded#tab=featured', |
d55433bb PH |
15 | 'info_dict': { |
16 | 'id': 'a7bff6c2-ed00-11e0-aca6-0026b9414f30', | |
17 | 'ext': 'mp4', | |
3804b012 | 18 | 'title': 'South Park|Bat Daded', |
d55433bb | 19 | 'description': 'Randy disqualifies South Park by getting into a fight with Bat Dad.', |
a3aa814b YCH |
20 | 'timestamp': 1112760000, |
21 | 'upload_date': '20050406', | |
5a6fecc3 | 22 | }, |
99d6e696 S |
23 | }, { |
24 | 'url': 'http://southpark.cc.com/collections/7758/fan-favorites/1', | |
25 | 'only_matching': True, | |
10db0d2f | 26 | }, { |
27 | 'url': 'https://www.southparkstudios.com/episodes/h4o269/south-park-stunning-and-brave-season-19-ep-1', | |
28 | 'only_matching': True, | |
1672647a | 29 | }] |
5a6fecc3 | 30 | |
10db0d2f | 31 | def _get_feed_query(self, uri): |
32 | return { | |
33 | 'accountOverride': 'intl.mtvi.com', | |
34 | 'arcEp': 'shared.southpark.global', | |
35 | 'ep': '90877963', | |
36 | 'imageEp': 'shared.southpark.global', | |
37 | 'mgid': uri, | |
38 | } | |
39 | ||
746f491f | 40 | |
e4a5e772 | 41 | class SouthParkEsIE(SouthParkIE): |
642f23bd | 42 | IE_NAME = 'southpark.cc.com:español' |
e4a5e772 S |
43 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.cc\.com/episodios-en-espanol/(?P<id>.+?)(\?|#|$))' |
44 | _LANG = 'es' | |
45 | ||
46 | _TESTS = [{ | |
47 | 'url': 'http://southpark.cc.com/episodios-en-espanol/s01e01-cartman-consigue-una-sonda-anal#source=351c1323-0b96-402d-a8b9-40d01b2e9bde&position=1&sort=!airdate', | |
a3aa814b YCH |
48 | 'info_dict': { |
49 | 'title': 'Cartman Consigue Una Sonda Anal', | |
50 | 'description': 'Cartman Consigue Una Sonda Anal', | |
51 | }, | |
e4a5e772 | 52 | 'playlist_count': 4, |
165c54e9 | 53 | 'skip': 'Geo-restricted', |
e4a5e772 S |
54 | }] |
55 | ||
56 | ||
3408f6e6 | 57 | class SouthParkDeIE(SouthParkIE): |
d55433bb | 58 | IE_NAME = 'southpark.de' |
02def271 | 59 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.de/(?:(en/(videoclip|collections|episodes|video-clips))|(videoclip|collections|folgen))/(?P<id>(?P<unique_id>.+?)/.+?)(?:\?|#|$))' |
746f491f | 60 | _TESTS = [{ |
bc887cdd U |
61 | 'url': 'https://www.southpark.de/videoclip/rsribv/south-park-rueckzug-zum-gummibonbon-wald', |
62 | 'only_matching': True, | |
bd690a9f | 63 | }, { |
bc887cdd U |
64 | 'url': 'https://www.southpark.de/folgen/jiru42/south-park-verkabelung-staffel-23-ep-9', |
65 | 'only_matching': True, | |
99d6e696 | 66 | }, { |
bc887cdd | 67 | 'url': 'https://www.southpark.de/collections/zzno5a/south-park-good-eats/7q26gp', |
99d6e696 | 68 | 'only_matching': True, |
02def271 | 69 | }, { |
70 | # clip | |
71 | 'url': 'https://www.southpark.de/en/video-clips/ct46op/south-park-tooth-fairy-cartman', | |
72 | 'info_dict': { | |
73 | 'id': 'e99d45ea-ed00-11e0-aca6-0026b9414f30', | |
74 | 'ext': 'mp4', | |
75 | 'title': 'Tooth Fairy Cartman', | |
76 | 'description': 'md5:db02e23818b4dc9cb5f0c5a7e8833a68', | |
77 | }, | |
78 | }, { | |
79 | # episode | |
80 | 'url': 'https://www.southpark.de/en/episodes/yy0vjs/south-park-the-pandemic-special-season-24-ep-1', | |
81 | 'info_dict': { | |
82 | 'id': 'f5fbd823-04bc-11eb-9b1b-0e40cf2fc285', | |
83 | 'ext': 'mp4', | |
84 | 'title': 'South Park', | |
85 | 'description': 'md5:ae0d875eff169dcbed16b21531857ac1', | |
86 | }, | |
87 | }, { | |
88 | # clip | |
89 | 'url': 'https://www.southpark.de/videoclip/ct46op/south-park-zahnfee-cartman', | |
90 | 'info_dict': { | |
91 | 'id': 'e99d45ea-ed00-11e0-aca6-0026b9414f30', | |
92 | 'ext': 'mp4', | |
93 | 'title': 'Zahnfee Cartman', | |
94 | 'description': 'md5:b917eec991d388811d911fd1377671ac' | |
95 | }, | |
96 | }, { | |
97 | # episode | |
98 | 'url': 'https://www.southpark.de/folgen/242csn/south-park-her-mit-dem-hirn-staffel-1-ep-7', | |
99 | 'info_dict': { | |
100 | 'id': '607115f3-496f-40c3-8647-2b0bcff486c0', | |
101 | 'ext': 'mp4', | |
102 | 'title': 'md5:South Park | Pink Eye | E 0107 | HDSS0107X deu | Version: 634312 | Comedy Central S1', | |
103 | }, | |
746f491f | 104 | }] |
e10dc0e1 | 105 | |
320724f9 U |
106 | def _get_feed_url(self, uri, url=None): |
107 | video_id = self._id_from_uri(uri) | |
108 | config = self._download_json( | |
109 | 'http://media.mtvnservices.com/pmt/e1/access/index.html?uri=%s&configtype=edge&ref=%s' % (uri, url), video_id) | |
110 | return self._remove_template_parameter(config['feedWithQueryParams']) | |
111 | ||
02def271 | 112 | def _get_feed_query(self, uri): |
113 | return | |
114 | ||
e10dc0e1 | 115 | |
116 | class SouthParkNlIE(SouthParkIE): | |
117 | IE_NAME = 'southpark.nl' | |
6289e078 | 118 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.nl/(?:clips|(?:full-)?episodes|collections)/(?P<id>.+?)(\?|#|$))' |
e10dc0e1 | 119 | _FEED_URL = 'http://www.southpark.nl/feeds/video-player/mrss/' |
120 | ||
121 | _TESTS = [{ | |
122 | 'url': 'http://www.southpark.nl/full-episodes/s18e06-freemium-isnt-free', | |
a3aa814b YCH |
123 | 'info_dict': { |
124 | 'title': 'Freemium Isn\'t Free', | |
125 | 'description': 'Stan is addicted to the new Terrance and Phillip mobile game.', | |
126 | }, | |
127 | 'playlist_mincount': 3, | |
e10dc0e1 | 128 | }] |
968ee176 | 129 | |
6d3f5935 | 130 | |
968ee176 | 131 | class SouthParkDkIE(SouthParkIE): |
6d3f5935 | 132 | IE_NAME = 'southparkstudios.dk' |
e0ab5657 | 133 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southparkstudios\.(?:dk|nu)/(?:clips|full-episodes|collections)/(?P<id>.+?)(\?|#|$))' |
968ee176 | 134 | _FEED_URL = 'http://www.southparkstudios.dk/feeds/video-player/mrss/' |
135 | ||
136 | _TESTS = [{ | |
137 | 'url': 'http://www.southparkstudios.dk/full-episodes/s18e07-grounded-vindaloop', | |
a3aa814b YCH |
138 | 'info_dict': { |
139 | 'title': 'Grounded Vindaloop', | |
140 | 'description': 'Butters is convinced he\'s living in a virtual reality.', | |
141 | }, | |
142 | 'playlist_mincount': 3, | |
99d6e696 S |
143 | }, { |
144 | 'url': 'http://www.southparkstudios.dk/collections/2476/superhero-showdown/1', | |
145 | 'only_matching': True, | |
e0ab5657 S |
146 | }, { |
147 | 'url': 'http://www.southparkstudios.nu/collections/2476/superhero-showdown/1', | |
148 | 'only_matching': True, | |
968ee176 | 149 | }] |