From 3266f0c68e9512f226043d868630a7179f45d390 Mon Sep 17 00:00:00 2001 From: Tithen-Firion Date: Sun, 30 Nov 2014 20:00:16 +0100 Subject: [PATCH] [myspace] Redirect to other extractors There are many songs just linked from Vevo/YouTube to MySpace. Vevo example: https://myspace.com/threedaysgrace/music/song/animal-i-have-become-28400208-28218041 YouTube example: https://myspace.com/starset2/music/song/first-light-95799905-106964426 --- youtube_dl/extractor/myspace.py | 13 +++++++++++++ youtube_dl/extractor/vevo.py | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/myspace.py b/youtube_dl/extractor/myspace.py index 843e1f24a..dd0a0415e 100644 --- a/youtube_dl/extractor/myspace.py +++ b/youtube_dl/extractor/myspace.py @@ -7,6 +7,7 @@ from .common import InfoExtractor from ..compat import ( compat_str, ) +from ..utils import ExtractorError class MySpaceIE(InfoExtractor): @@ -65,6 +66,18 @@ class MySpaceIE(InfoExtractor): r'''data-%s=([\'"])(.*?)\1''' % name, song_data, name, default='', group=2) streamUrl = search_data('stream-url') + if not streamUrl: + vevo_id = search_data('vevo-id') + youtube_id = search_data('youtube-id') + if vevo_id: + self.to_screen('Vevo video detected: %s' % vevo_id) + return self.url_result('vevo:%s' % vevo_id, ie='Vevo') + elif youtube_id: + self.to_screen('Youtube video detected: %s' % youtube_id) + return self.url_result(youtube_id, ie='Youtube') + else: + raise ExtractorError( + 'Found song but don\'t know how to download it') info = { 'id': video_id, 'title': self._og_search_title(webpage), diff --git a/youtube_dl/extractor/vevo.py b/youtube_dl/extractor/vevo.py index 5b1a3ec78..c912c3cbe 100644 --- a/youtube_dl/extractor/vevo.py +++ b/youtube_dl/extractor/vevo.py @@ -13,7 +13,7 @@ from ..utils import ( class VevoIE(InfoExtractor): """ Accepts urls from vevo.com or in the format 'vevo:{id}' - (currently used by MTVIE) + (currently used by MTVIE and MySpaceIE) """ _VALID_URL = r'''(?x) (?:https?://www\.vevo\.com/watch/(?:[^/]+/(?:[^/]+/)?)?| -- 2.22.2