Merge branch 'master' of github.com:rg3/youtube-dl
authorPhilipp Hagemeister <phihag@phihag.de>
Sat, 21 Sep 2013 09:10:30 +0000 (11:10 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Sat, 21 Sep 2013 09:10:30 +0000 (11:10 +0200)
youtube_dl/extractor/southparkstudios.py

index a5dc754ddfb01abf588aaf75411cd6466ff7205e..1a611d3bb628643740b999e85f7bdd321a7e3de8 100644 (file)
@@ -5,7 +5,7 @@ from .mtv import MTVIE, _media_xml_tag
 
 class SouthParkStudiosIE(MTVIE):
     IE_NAME = u'southparkstudios.com'
-    _VALID_URL = r'https?://www\.southparkstudios\.com/clips/(?P<id>\d+)'
+    _VALID_URL = r'https?://www\.southparkstudios\.com/(clips|full-episodes)/(?P<id>.+?)(\?|#|$)'
 
     _FEED_URL = 'http://www.southparkstudios.com/feeds/video-player/mrss'
 
@@ -14,7 +14,7 @@ class SouthParkStudiosIE(MTVIE):
         u'file': u'a7bff6c2-ed00-11e0-aca6-0026b9414f30.mp4',
         u'info_dict': {
             u'title': u'Bat Daded',
-            u'description': u'Randy disqualifies South Park by getting into a fight with Bat Dad.',
+            u'description': u'Randy finally gets the chance to fight Bat Dad and gets the boys disqualified from the season championships.',
         },
     }
 
@@ -23,12 +23,16 @@ class SouthParkStudiosIE(MTVIE):
 
     def _get_thumbnail_url(self, uri, itemdoc):
         search_path = '%s/%s' % (_media_xml_tag('group'), _media_xml_tag('thumbnail'))
-        return itemdoc.find(search_path).attrib['url']
+        thumb_node = itemdoc.find(search_path)
+        if thumb_node is None:
+            return None
+        else:
+            return thumb_node.attrib['url']
 
     def _real_extract(self, url):
         mobj = re.match(self._VALID_URL, url)
         video_id = mobj.group('id')
         webpage = self._download_webpage(url, video_id)
-        mgid = self._search_regex(r'swfobject.embedSWF\(".*?(mgid:.*?)"',
+        mgid = self._search_regex(r'data-mgid="(mgid:.*?)"',
                                   webpage, u'mgid')
         return self._get_videos_info(mgid)