diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-10-01 15:05:41 +0200 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-10-01 15:05:41 +0200 | 
| commit | c54283824c72434c31e0dcce1d09fc3259dbcdc0 (patch) | |
| tree | af94168f63569dbb689a077c3f89c7decb646588 | |
| parent | 52f15da2caf58df4ddd8f995ca2fa5cfebd0cdfb (diff) | |
[dailymotion] Detect vevo videos (fixes #1532)
All videos from the Vevo user, just embed videos from vevo.com
| -rw-r--r-- | youtube_dl/extractor/dailymotion.py | 43 | 
1 files changed, 34 insertions, 9 deletions
| diff --git a/youtube_dl/extractor/dailymotion.py b/youtube_dl/extractor/dailymotion.py index 3f012aedc..259806f38 100644 --- a/youtube_dl/extractor/dailymotion.py +++ b/youtube_dl/extractor/dailymotion.py @@ -27,15 +27,31 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):      _VALID_URL = r'(?i)(?:https?://)?(?:www\.)?dailymotion\.[a-z]{2,3}/(?:embed/)?video/([^/]+)'      IE_NAME = u'dailymotion' -    _TEST = { -        u'url': u'http://www.dailymotion.com/video/x33vw9_tutoriel-de-youtubeur-dl-des-video_tech', -        u'file': u'x33vw9.mp4', -        u'md5': u'392c4b85a60a90dc4792da41ce3144eb', -        u'info_dict': { -            u"uploader": u"Amphora Alex and Van .",  -            u"title": u"Tutoriel de Youtubeur\"DL DES VIDEO DE YOUTUBE\"" -        } -    } +    _TESTS = [ +        { +            u'url': u'http://www.dailymotion.com/video/x33vw9_tutoriel-de-youtubeur-dl-des-video_tech', +            u'file': u'x33vw9.mp4', +            u'md5': u'392c4b85a60a90dc4792da41ce3144eb', +            u'info_dict': { +                u"uploader": u"Amphora Alex and Van .",  +                u"title": u"Tutoriel de Youtubeur\"DL DES VIDEO DE YOUTUBE\"" +            } +        }, +        # Vevo video +        { +            u'url': u'http://www.dailymotion.com/video/x149uew_katy-perry-roar-official_musi', +            u'file': u'USUV71301934.mp4', +            u'info_dict': { +                u'title': u'Roar (Official)', +                u'uploader': u'Katy Perry', +                u'upload_date': u'20130905', +            }, +            u'params': { +                u'skip_download': True, +            }, +            u'skip': u'VEVO is only available in some countries', +        }, +    ]      def _real_extract(self, url):          # Extract id and simplified title from URL @@ -53,6 +69,15 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):          # Extract URL, uploader and title from webpage          self.report_extraction(video_id) +        # It may just embed a vevo video: +        m_vevo = re.search( +            r'<link rel="video_src" href="[^"]*?vevo.com[^"]*?videoId=(?P<id>[\w]*)', +            webpage) +        if m_vevo is not None: +            vevo_id = m_vevo.group('id') +            self.to_screen(u'Vevo video detected: %s' % vevo_id) +            return self.url_result(u'vevo:%s' % vevo_id, ie='Vevo') +          video_uploader = self._search_regex([r'(?im)<span class="owner[^\"]+?">[^<]+?<a [^>]+?>([^<]+?)</a>',                                               # Looking for official user                                               r'<(?:span|a) .*?rel="author".*?>([^<]+?)</'], | 
