2 from __future__ import unicode_literals
4 from .mtv import MTVServicesInfoExtractor
7 class SouthParkIE(MTVServicesInfoExtractor):
8 IE_NAME = 'southpark.cc.com'
9 _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.cc\.com/(?:clips|(?:full-)?episodes|collections)/(?P<id>.+?)(\?|#|$))'
11 _FEED_URL = 'http://www.southparkstudios.com/feeds/video-player/mrss'
14 'url': 'http://southpark.cc.com/clips/104437/bat-daded#tab=featured',
16 'id': 'a7bff6c2-ed00-11e0-aca6-0026b9414f30',
18 'title': 'South Park|Bat Daded',
19 'description': 'Randy disqualifies South Park by getting into a fight with Bat Dad.',
20 'timestamp': 1112760000,
21 'upload_date': '20050406',
24 'url': 'http://southpark.cc.com/collections/7758/fan-favorites/1',
25 'only_matching': True,
29 class SouthParkEsIE(SouthParkIE):
30 IE_NAME = 'southpark.cc.com:español'
31 _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.cc\.com/episodios-en-espanol/(?P<id>.+?)(\?|#|$))'
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',
37 'title': 'Cartman Consigue Una Sonda Anal',
38 'description': 'Cartman Consigue Una Sonda Anal',
41 'skip': 'Geo-restricted',
45 class SouthParkDeIE(SouthParkIE):
46 IE_NAME = 'southpark.de'
47 _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.de/(?:clips|alle-episoden|collections)/(?P<id>.+?)(\?|#|$))'
48 _FEED_URL = 'http://www.southpark.de/feeds/video-player/mrss/'
51 'url': 'http://www.southpark.de/clips/uygssh/the-government-wont-respect-my-privacy#tab=featured',
53 'id': '85487c96-b3b9-4e39-9127-ad88583d9bf2',
55 'title': 'South Park|The Government Won\'t Respect My Privacy',
56 'description': 'Cartman explains the benefits of "Shitter" to Stan, Kyle and Craig.',
57 'timestamp': 1380160800,
58 'upload_date': '20130926',
61 # non-ASCII characters in initial URL
62 'url': 'http://www.southpark.de/alle-episoden/s18e09-hashtag-aufwärmen',
64 'title': 'Hashtag „Aufwärmen“',
65 'description': 'Kyle will mit seinem kleinen Bruder Ike Videospiele spielen. Als der nicht mehr mit ihm spielen will, hat Kyle Angst, dass er die Kids von heute nicht mehr versteht.',
69 # non-ASCII characters in redirect URL
70 'url': 'http://www.southpark.de/alle-episoden/s18e09',
72 'title': 'Hashtag „Aufwärmen“',
73 'description': 'Kyle will mit seinem kleinen Bruder Ike Videospiele spielen. Als der nicht mehr mit ihm spielen will, hat Kyle Angst, dass er die Kids von heute nicht mehr versteht.',
77 'url': 'http://www.southpark.de/collections/2476/superhero-showdown/1',
78 'only_matching': True,
82 class SouthParkNlIE(SouthParkIE):
83 IE_NAME = 'southpark.nl'
84 _VALID_URL = r'https?://(?:www\.)?(?P<url>southpark\.nl/(?:clips|(?:full-)?episodes|collections)/(?P<id>.+?)(\?|#|$))'
85 _FEED_URL = 'http://www.southpark.nl/feeds/video-player/mrss/'
88 'url': 'http://www.southpark.nl/full-episodes/s18e06-freemium-isnt-free',
90 'title': 'Freemium Isn\'t Free',
91 'description': 'Stan is addicted to the new Terrance and Phillip mobile game.',
93 'playlist_mincount': 3,
97 class SouthParkDkIE(SouthParkIE):
98 IE_NAME = 'southparkstudios.dk'
99 _VALID_URL = r'https?://(?:www\.)?(?P<url>southparkstudios\.(?:dk|nu)/(?:clips|full-episodes|collections)/(?P<id>.+?)(\?|#|$))'
100 _FEED_URL = 'http://www.southparkstudios.dk/feeds/video-player/mrss/'
103 'url': 'http://www.southparkstudios.dk/full-episodes/s18e07-grounded-vindaloop',
105 'title': 'Grounded Vindaloop',
106 'description': 'Butters is convinced he\'s living in a virtual reality.',
108 'playlist_mincount': 3,
110 'url': 'http://www.southparkstudios.dk/collections/2476/superhero-showdown/1',
111 'only_matching': True,
113 'url': 'http://www.southparkstudios.nu/collections/2476/superhero-showdown/1',
114 'only_matching': True,