[mixcloud] Try to get the m4a url if the mp3 url fails to download (fixes #1939)
This commit is contained in:
		| @@ -37,6 +37,9 @@ class MixcloudIE(InfoExtractor): | |||||||
|  |  | ||||||
|         return None |         return None | ||||||
|  |  | ||||||
|  |     def _get_url(self, template_url): | ||||||
|  |         return self.check_urls(template_url % i for i in range(30)) | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
|         mobj = re.match(self._VALID_URL, url) |         mobj = re.match(self._VALID_URL, url) | ||||||
|  |  | ||||||
| @@ -52,13 +55,18 @@ class MixcloudIE(InfoExtractor): | |||||||
|         preview_url = self._search_regex(r'data-preview-url="(.+?)"', webpage, u'preview url') |         preview_url = self._search_regex(r'data-preview-url="(.+?)"', webpage, u'preview url') | ||||||
|         song_url = preview_url.replace('/previews/', '/cloudcasts/originals/') |         song_url = preview_url.replace('/previews/', '/cloudcasts/originals/') | ||||||
|         template_url = re.sub(r'(stream\d*)', 'stream%d', song_url) |         template_url = re.sub(r'(stream\d*)', 'stream%d', song_url) | ||||||
|         final_song_url = self.check_urls(template_url % i for i in range(30)) |         final_song_url = self._get_url(template_url) | ||||||
|  |         if final_song_url is None: | ||||||
|  |             self.to_screen('Trying with m4a extension') | ||||||
|  |             template_url = template_url.replace('.mp3', '.m4a').replace('originals/', 'm4a/64/') | ||||||
|  |             final_song_url = self._get_url(template_url) | ||||||
|  |         if final_song_url is None: | ||||||
|  |             raise ExtractorError(u'Unable to extract track url') | ||||||
|  |  | ||||||
|         return { |         return { | ||||||
|             'id': track_id, |             'id': track_id, | ||||||
|             'title': info['name'], |             'title': info['name'], | ||||||
|             'url': final_song_url, |             'url': final_song_url, | ||||||
|             'ext': 'mp3', |  | ||||||
|             'description': info.get('description'), |             'description': info.get('description'), | ||||||
|             'thumbnail': info['pictures'].get('extra_large'), |             'thumbnail': info['pictures'].get('extra_large'), | ||||||
|             'uploader': info['user']['name'], |             'uploader': info['user']['name'], | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz