diff options
| author | Sergey M․ <dstftw@gmail.com> | 2015-02-04 19:47:55 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-02-04 19:47:55 +0600 | 
| commit | 58ba6c016086f1f9f47778f7a64aca72beb55c23 (patch) | |
| tree | dcf24116f3b2a0eec439f5175bf01da4c60d0070 | |
| parent | f076b63821100af17379ed8b470e508846bb8432 (diff) | |
[mixcloud] Fix extraction (Closes #4862)
| -rw-r--r-- | youtube_dl/extractor/mixcloud.py | 19 | 
1 files changed, 16 insertions, 3 deletions
diff --git a/youtube_dl/extractor/mixcloud.py b/youtube_dl/extractor/mixcloud.py index 141bb463e..1831c6749 100644 --- a/youtube_dl/extractor/mixcloud.py +++ b/youtube_dl/extractor/mixcloud.py @@ -18,7 +18,7 @@ class MixcloudIE(InfoExtractor):      _VALID_URL = r'^(?:https?://)?(?:www\.)?mixcloud\.com/([^/]+)/([^/]+)'      IE_NAME = 'mixcloud' -    _TEST = { +    _TESTS = [{          'url': 'http://www.mixcloud.com/dholbach/cryptkeeper/',          'info_dict': {              'id': 'dholbach-cryptkeeper', @@ -33,7 +33,20 @@ class MixcloudIE(InfoExtractor):              'view_count': int,              'like_count': int,          }, -    } +    }, { +        'url': 'http://www.mixcloud.com/gillespeterson/caribou-7-inch-vinyl-mix-chat/', +        'info_dict': { +            'id': 'gillespeterson-caribou-7-inch-vinyl-mix-chat', +            'ext': 'm4a', +            'title': 'Electric Relaxation vol. 3', +            'description': 'md5:2b8aec6adce69f9d41724647c65875e8', +            'uploader': 'Daniel Drumz', +            'uploader_id': 'gillespeterson', +            'thumbnail': 're:https?://.*\.jpg', +            'view_count': int, +            'like_count': int, +        }, +    }]      def _get_url(self, track_id, template_url):          server_count = 30 @@ -60,7 +73,7 @@ class MixcloudIE(InfoExtractor):          webpage = self._download_webpage(url, track_id)          preview_url = self._search_regex( -            r'\s(?:data-preview-url|m-preview)="(.+?)"', webpage, 'preview url') +            r'\s(?:data-preview-url|m-preview)="([^"]+)"', webpage, 'preview url')          song_url = preview_url.replace('/previews/', '/c/originals/')          template_url = re.sub(r'(stream\d*)', 'stream%d', song_url)          final_song_url = self._get_url(track_id, template_url)  | 
