[metacafe] Simplify
[youtube-dl] / youtube_dl / extractor / metacafe.py
index ac47c5ccbe18dd5775c944293dd123538a320c4d..c3a4a333cdd697dc8f4ed49af63d8996ca043d19 100644 (file)
@@ -13,7 +13,7 @@ from ..utils import (
 
 
 class MetacafeIE(InfoExtractor):
-    _VALID_URL = r'(?:http://)?(?:www\.)?metacafe\.com/watch/([^/]+)/([^/]+)/.*'
+    _VALID_URL = r'http://(?:www\.)?metacafe\.com/watch/([^/]+)/([^/]+)/.*'
     _DISCLAIMER = 'http://www.metacafe.com/family_filter/'
     _FILTER_POST = 'http://www.metacafe.com/f/index.php?inputType=filter&controllerGroup=user'
     IE_NAME = 'metacafe'
@@ -26,7 +26,7 @@ class MetacafeIE(InfoExtractor):
                 'id': '_aUehQsCQtM',
                 'ext': 'mp4',
                 'upload_date': '20090102',
-                'title': 'The Electric Company | \"Short I\" | PBS KIDS GO!',
+                'title': 'The Electric Company | "Short I" | PBS KIDS GO!',
                 'description': 'md5:2439a8ef6d5a70e380c22f5ad323e5a8',
                 'uploader': 'PBS',
                 'uploader_id': 'PBS'
@@ -86,7 +86,6 @@ class MetacafeIE(InfoExtractor):
     ]
 
     def report_disclaimer(self):
-        """Report disclaimer retrieval."""
         self.to_screen('Retrieving disclaimer')
 
     def _real_initialize(self):
@@ -153,10 +152,9 @@ class MetacafeIE(InfoExtractor):
                 video_url = mobj.group(1)
                 video_ext = 'mp4'
             else:
-                mobj = re.search(r' name="flashvars" value="(.*?)"', webpage)
-                if mobj is None:
-                    raise ExtractorError('Unable to extract media URL')
-                vardict = compat_parse_qs(mobj.group(1))
+                flashvars = self._search_regex(
+                    r' name="flashvars" value="(.*?)"', webpage, 'flashvars')
+                vardict = compat_parse_qs(flashvars)
                 if 'mediaData' not in vardict:
                     raise ExtractorError('Unable to extract media URL')
                 mobj = re.search(
@@ -167,7 +165,8 @@ class MetacafeIE(InfoExtractor):
                 video_url = '%s?__gda__=%s' % (mediaURL, mobj.group('key'))
                 video_ext = determine_ext(video_url)
 
-        video_title = self._html_search_regex(r'(?im)<title>(.*) - Video</title>', webpage, 'title')
+        video_title = self._html_search_regex(
+            r'(?im)<title>(.*) - Video</title>', webpage, 'title')
         description = self._og_search_description(webpage)
         thumbnail = self._og_search_thumbnail(webpage)
         video_uploader = self._html_search_regex(
@@ -185,7 +184,7 @@ class MetacafeIE(InfoExtractor):
             'description': description,
             'uploader': video_uploader,
             'title': video_title,
-            'thumbnail':thumbnail,
+            'thumbnail': thumbnail,
             'ext': video_ext,
             'age_limit': age_limit,
         }