From b30ef07c6ccb982cff623c34e7c5cec5d8eb9bb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Thu, 19 Mar 2015 01:06:39 +0600 Subject: [PATCH] [ultimedia] Handle youtube embeds --- youtube_dl/extractor/ultimedia.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/youtube_dl/extractor/ultimedia.py b/youtube_dl/extractor/ultimedia.py index 0c1b08d7d..06554a1be 100644 --- a/youtube_dl/extractor/ultimedia.py +++ b/youtube_dl/extractor/ultimedia.py @@ -1,6 +1,8 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .common import InfoExtractor from ..utils import ( ExtractorError, @@ -60,12 +62,18 @@ def _real_extract(self, url): video_id) quality = qualities(['flash', 'html5']) - - formats = [{ - 'url': mode['config']['file'], - 'format_id': mode.get('type'), - 'quality': quality(mode.get('type')), - } for mode in player['modes']] + formats = [] + for mode in player['modes']: + video_url = mode.get('config', {}).get('file') + if not video_url: + continue + if re.match(r'https?://www\.youtube\.com/.+?', video_url): + return self.url_result(video_url, 'Youtube') + formats.append({ + 'url': video_url, + 'format_id': mode.get('type'), + 'quality': quality(mode.get('type')), + }) self._sort_formats(formats) thumbnail = player.get('image')