mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[ReverbNation] Add new IE - closes #2250
This commit is contained in:
		| @@ -232,6 +232,7 @@ from .radiofrance import RadioFranceIE | |||||||
| from .rai import RaiIE | from .rai import RaiIE | ||||||
| from .rbmaradio import RBMARadioIE | from .rbmaradio import RBMARadioIE | ||||||
| from .redtube import RedTubeIE | from .redtube import RedTubeIE | ||||||
|  | from .reverbnation import ReverbNationIE | ||||||
| from .ringtv import RingTVIE | from .ringtv import RingTVIE | ||||||
| from .ro220 import Ro220IE | from .ro220 import Ro220IE | ||||||
| from .rottentomatoes import RottenTomatoesIE | from .rottentomatoes import RottenTomatoesIE | ||||||
|   | |||||||
							
								
								
									
										45
									
								
								youtube_dl/extractor/reverbnation.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								youtube_dl/extractor/reverbnation.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | from __future__ import unicode_literals | ||||||
|  |  | ||||||
|  | import re | ||||||
|  | import time | ||||||
|  |  | ||||||
|  | from .common import InfoExtractor | ||||||
|  | from ..utils import strip_jsonp | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class ReverbNationIE(InfoExtractor): | ||||||
|  |     _VALID_URL = r'^https?://(?:www\.)?reverbnation\.com/.*?/song/(?P<id>\d+).*?$' | ||||||
|  |     _TESTS = [{ | ||||||
|  |         'url': 'http://www.reverbnation.com/alkilados/song/16965047-mona-lisa', | ||||||
|  |         'file': '16965047.mp3', | ||||||
|  |         'md5': '3da12ebca28c67c111a7f8b262d3f7a7', | ||||||
|  |         'info_dict': { | ||||||
|  |             "title": "MONA LISA", | ||||||
|  |             "uploader": "ALKILADOS", | ||||||
|  |             "uploader_id": 216429, | ||||||
|  |             "thumbnail": "//gp1.wac.edgecastcdn.net/802892/production_public/Photo/13761700/image/1366002176_AVATAR_MONA_LISA.jpg" | ||||||
|  |         }, | ||||||
|  |     }] | ||||||
|  |  | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         mobj = re.match(self._VALID_URL, url) | ||||||
|  |         song_id = mobj.group('id') | ||||||
|  |  | ||||||
|  |         api_res = self._download_json( | ||||||
|  |             'https://api.reverbnation.com/song/%s?callback=api_response_5&_=%d' | ||||||
|  |                 % (song_id, int(time.time() * 1000)), | ||||||
|  |             song_id, | ||||||
|  |             transform_source=strip_jsonp, | ||||||
|  |             note='Downloading information of song %s' % song_id | ||||||
|  |         ) | ||||||
|  |  | ||||||
|  |         return { | ||||||
|  |             'id': song_id, | ||||||
|  |             'title': api_res.get('name'), | ||||||
|  |             'url': api_res.get('url'), | ||||||
|  |             'uploader': api_res.get('artist', {}).get('name'), | ||||||
|  |             'uploader_id': api_res.get('artist', {}).get('id'), | ||||||
|  |             'thumbnail': api_res.get('image', api_res.get('thumbnail')), | ||||||
|  |             'ext': 'mp3', | ||||||
|  |             'vcodec': 'none', | ||||||
|  |         } | ||||||
| @@ -1428,7 +1428,7 @@ US_RATINGS = { | |||||||
|  |  | ||||||
|  |  | ||||||
| def strip_jsonp(code): | def strip_jsonp(code): | ||||||
|     return re.sub(r'(?s)^[a-zA-Z_]+\s*\(\s*(.*)\);\s*?\s*$', r'\1', code) |     return re.sub(r'(?s)^[a-zA-Z0-9_]+\s*\(\s*(.*)\)\s*?\s*$', r'\1', code) | ||||||
|  |  | ||||||
|  |  | ||||||
| def qualities(quality_ids): | def qualities(quality_ids): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Filippo Valsorda
					Filippo Valsorda