]>
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' | |
6289e078 | 9 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.cc\.com/(?:clips|(?:full-)?episodes|collections)/(?P<id>.+?)(\?|#|$))' |
5a6fecc3 JMF |
10 | |
11 | _FEED_URL = 'http://www.southparkstudios.com/feeds/video-player/mrss' | |
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, | |
1672647a | 26 | }] |
5a6fecc3 | 27 | |
746f491f | 28 | |
e4a5e772 | 29 | class SouthParkEsIE(SouthParkIE): |
642f23bd | 30 | IE_NAME = 'southpark.cc.com:español' |
e4a5e772 S |
31 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.cc\.com/episodios-en-espanol/(?P<id>.+?)(\?|#|$))' |
32 | _LANG = 'es' | |
33 | ||
34 | _TESTS = [{ | |
35 | '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 |
36 | 'info_dict': { |
37 | 'title': 'Cartman Consigue Una Sonda Anal', | |
38 | 'description': 'Cartman Consigue Una Sonda Anal', | |
39 | }, | |
e4a5e772 | 40 | 'playlist_count': 4, |
165c54e9 | 41 | 'skip': 'Geo-restricted', |
e4a5e772 S |
42 | }] |
43 | ||
44 | ||
3408f6e6 | 45 | class SouthParkDeIE(SouthParkIE): |
d55433bb | 46 | IE_NAME = 'southpark.de' |
f8fb3b8a | 47 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.de/(?:(en/(videoclip|collections|episodes))|(videoclip|collections|folgen))/(?P<id>(?P<unique_id>.+?)/.+?)(?:\?|#|$))' |
320724f9 | 48 | # _FEED_URL = 'http://feeds.mtvnservices.com/od/feed/intl-mrss-player-feed' |
746f491f | 49 | |
50 | _TESTS = [{ | |
bc887cdd U |
51 | 'url': 'https://www.southpark.de/videoclip/rsribv/south-park-rueckzug-zum-gummibonbon-wald', |
52 | 'only_matching': True, | |
bd690a9f | 53 | }, { |
bc887cdd U |
54 | 'url': 'https://www.southpark.de/folgen/jiru42/south-park-verkabelung-staffel-23-ep-9', |
55 | 'only_matching': True, | |
99d6e696 | 56 | }, { |
bc887cdd | 57 | 'url': 'https://www.southpark.de/collections/zzno5a/south-park-good-eats/7q26gp', |
99d6e696 | 58 | 'only_matching': True, |
746f491f | 59 | }] |
e10dc0e1 | 60 | |
320724f9 U |
61 | def _get_feed_url(self, uri, url=None): |
62 | video_id = self._id_from_uri(uri) | |
63 | config = self._download_json( | |
64 | 'http://media.mtvnservices.com/pmt/e1/access/index.html?uri=%s&configtype=edge&ref=%s' % (uri, url), video_id) | |
65 | return self._remove_template_parameter(config['feedWithQueryParams']) | |
66 | ||
e10dc0e1 | 67 | |
68 | class SouthParkNlIE(SouthParkIE): | |
69 | IE_NAME = 'southpark.nl' | |
6289e078 | 70 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.nl/(?:clips|(?:full-)?episodes|collections)/(?P<id>.+?)(\?|#|$))' |
e10dc0e1 | 71 | _FEED_URL = 'http://www.southpark.nl/feeds/video-player/mrss/' |
72 | ||
73 | _TESTS = [{ | |
74 | 'url': 'http://www.southpark.nl/full-episodes/s18e06-freemium-isnt-free', | |
a3aa814b YCH |
75 | 'info_dict': { |
76 | 'title': 'Freemium Isn\'t Free', | |
77 | 'description': 'Stan is addicted to the new Terrance and Phillip mobile game.', | |
78 | }, | |
79 | 'playlist_mincount': 3, | |
e10dc0e1 | 80 | }] |
968ee176 | 81 | |
6d3f5935 | 82 | |
968ee176 | 83 | class SouthParkDkIE(SouthParkIE): |
6d3f5935 | 84 | IE_NAME = 'southparkstudios.dk' |
e0ab5657 | 85 | _VALID_URL = r'https?://(?:www\.)?(?P<url>southparkstudios\.(?:dk|nu)/(?:clips|full-episodes|collections)/(?P<id>.+?)(\?|#|$))' |
968ee176 | 86 | _FEED_URL = 'http://www.southparkstudios.dk/feeds/video-player/mrss/' |
87 | ||
88 | _TESTS = [{ | |
89 | 'url': 'http://www.southparkstudios.dk/full-episodes/s18e07-grounded-vindaloop', | |
a3aa814b YCH |
90 | 'info_dict': { |
91 | 'title': 'Grounded Vindaloop', | |
92 | 'description': 'Butters is convinced he\'s living in a virtual reality.', | |
93 | }, | |
94 | 'playlist_mincount': 3, | |
99d6e696 S |
95 | }, { |
96 | 'url': 'http://www.southparkstudios.dk/collections/2476/superhero-showdown/1', | |
97 | 'only_matching': True, | |
e0ab5657 S |
98 | }, { |
99 | 'url': 'http://www.southparkstudios.nu/collections/2476/superhero-showdown/1', | |
100 | 'only_matching': True, | |
968ee176 | 101 | }] |