diff options
| author | Sergey M․ <dstftw@gmail.com> | 2015-01-21 22:53:51 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-01-21 22:53:51 +0600 | 
| commit | bb0aa4cb3ca1b21084e6e6229e4a69014e61ccff (patch) | |
| tree | e2de8928a240a08b298e24e81f48ab4118490918 | |
| parent | d63528c8c7965545969e77b983e0e42d2e41e31f (diff) | |
[streetvoice] Improve
| -rw-r--r-- | youtube_dl/extractor/streetvoice.py | 53 | 
1 files changed, 34 insertions, 19 deletions
| diff --git a/youtube_dl/extractor/streetvoice.py b/youtube_dl/extractor/streetvoice.py index 55ceea75b..6a57fa60a 100644 --- a/youtube_dl/extractor/streetvoice.py +++ b/youtube_dl/extractor/streetvoice.py @@ -2,35 +2,50 @@  from __future__ import unicode_literals  from .common import InfoExtractor +from ..compat import compat_str +from ..utils import unified_strdate  class StreetVoiceIE(InfoExtractor): -    _VALID_URL = r'http://tw.streetvoice.com/[^/]+/songs/(?P<id>[0-9]+)/' -    _TESTS = [ -        { -            'url': 'http://tw.streetvoice.com/skippylu/songs/94440/', -            'md5': '15974627fc01a29e492c98593c2fd472', -            'info_dict': { -                'id': '94440', -                'ext': 'mp3', -                'title': '輸', -                'description': '輸 - Crispy脆樂團' -            } +    _VALID_URL = r'https?://(?:.+?\.)?streetvoice\.com/[^/]+/songs/(?P<id>[0-9]+)' +    _TESTS = [{ +        'url': 'http://streetvoice.com/skippylu/songs/94440/', +        'md5': '15974627fc01a29e492c98593c2fd472', +        'info_dict': { +            'id': '94440', +            'ext': 'mp3', +            'filesize': 4167053, +            'title': '輸', +            'description': 'Crispy脆樂團 - 輸', +            'thumbnail': 're:^https?://.*\.jpg$', +            'duration': 260, +            'upload_date': '20091018', +            'uploader': 'Crispy脆樂團', +            'uploader_id': '627810',          } -    ] +    }, { +        'url': 'http://tw.streetvoice.com/skippylu/songs/94440/', +        'only_matching': True, +    }]      def _real_extract(self, url):          song_id = self._match_id(url) -        api_url = 'http://tw.streetvoice.com/music/api/song/%s/' % song_id -        info_dict = self._download_json(api_url, song_id) +        song = self._download_json( +            'http://streetvoice.com/music/api/song/%s' % song_id, song_id) + +        title = song['name'] +        author = song['musician']['name'] -        author = info_dict['musician']['name'] -        title = info_dict['name']          return {              'id': song_id, -            'ext': 'mp3', +            'url': song['file'], +            'filesize': song.get('size'),              'title': title, -            'url': info_dict['file'], -            'description': '%s - %s' % (title, author) +            'description': '%s - %s' % (author, title), +            'thumbnail': self._proto_relative_url(song.get('image'), 'http:'), +            'duration': song.get('length'), +            'upload_date': unified_strdate(song.get('created_at')), +            'uploader': author, +            'uploader_id': compat_str(song['musician']['id']),          } | 
