1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-11-20 23:24:04 +08:00

[metacafe] Avoid excessive nesting

This commit is contained in:
Philipp Hagemeister 2014-08-21 13:37:19 +02:00
parent 12c3ec3382
commit c15235cd07

View File

@ -134,6 +134,7 @@ class MetacafeIE(InfoExtractor):
# Extract URL, uploader and title from webpage # Extract URL, uploader and title from webpage
self.report_extraction(video_id) self.report_extraction(video_id)
video_url = None
mobj = re.search(r'(?m)&mediaURL=([^&]+)', webpage) mobj = re.search(r'(?m)&mediaURL=([^&]+)', webpage)
if mobj is not None: if mobj is not None:
mediaURL = compat_urllib_parse.unquote(mobj.group(1)) mediaURL = compat_urllib_parse.unquote(mobj.group(1))
@ -146,14 +147,16 @@ class MetacafeIE(InfoExtractor):
else: else:
gdaKey = mobj.group(1) gdaKey = mobj.group(1)
video_url = '%s?__gda__=%s' % (mediaURL, gdaKey) video_url = '%s?__gda__=%s' % (mediaURL, gdaKey)
else: if video_url is None:
mobj = re.search(r'<video src="([^"]+)"', webpage) mobj = re.search(r'<video src="([^"]+)"', webpage)
if mobj: if mobj:
video_url = mobj.group(1) video_url = mobj.group(1)
video_ext = 'mp4' video_ext = 'mp4'
else: if video_url is None:
flashvars = self._search_regex( flashvars = self._search_regex(
r' name="flashvars" value="(.*?)"', webpage, 'flashvars') r' name="flashvars" value="(.*?)"', webpage, 'flashvars',
default=None)
if flashvars:
vardict = compat_parse_qs(flashvars) vardict = compat_parse_qs(flashvars)
if 'mediaData' not in vardict: if 'mediaData' not in vardict:
raise ExtractorError('Unable to extract media URL') raise ExtractorError('Unable to extract media URL')
@ -165,6 +168,7 @@ class MetacafeIE(InfoExtractor):
video_url = '%s?__gda__=%s' % (mediaURL, mobj.group('key')) video_url = '%s?__gda__=%s' % (mediaURL, mobj.group('key'))
video_ext = determine_ext(video_url) video_ext = determine_ext(video_url)
video_title = self._html_search_regex( video_title = self._html_search_regex(
r'(?im)<title>(.*) - Video</title>', webpage, 'title') r'(?im)<title>(.*) - Video</title>', webpage, 'title')
description = self._og_search_description(webpage) description = self._og_search_description(webpage)