[bandcamp] raise ExtractorError when track not streamable (#9465)
* [bandcamp] raise ExtractorError when track not streamable * [bandcamp] update md5 for second test * don't rely on json-data, but just check for 'file' * don't rely on presence of 'file'
This commit is contained in:
		
							parent
							
								
									c776b99691
								
							
						
					
					
						commit
						70346165fe
					
				| @ -29,7 +29,7 @@ class BandcampIE(InfoExtractor): | |||||||
|         '_skip': 'There is a limit of 200 free downloads / month for the test song' |         '_skip': 'There is a limit of 200 free downloads / month for the test song' | ||||||
|     }, { |     }, { | ||||||
|         'url': 'http://benprunty.bandcamp.com/track/lanius-battle', |         'url': 'http://benprunty.bandcamp.com/track/lanius-battle', | ||||||
|         'md5': '2b68e5851514c20efdff2afc5603b8b4', |         'md5': '73d0b3171568232574e45652f8720b5c', | ||||||
|         'info_dict': { |         'info_dict': { | ||||||
|             'id': '2650410135', |             'id': '2650410135', | ||||||
|             'ext': 'mp3', |             'ext': 'mp3', | ||||||
| @ -48,6 +48,10 @@ class BandcampIE(InfoExtractor): | |||||||
|             if m_trackinfo: |             if m_trackinfo: | ||||||
|                 json_code = m_trackinfo.group(1) |                 json_code = m_trackinfo.group(1) | ||||||
|                 data = json.loads(json_code)[0] |                 data = json.loads(json_code)[0] | ||||||
|  |                 track_id = compat_str(data['id']) | ||||||
|  | 
 | ||||||
|  |                 if not data.get('file'): | ||||||
|  |                     raise ExtractorError('Not streamable', video_id=track_id, expected=True) | ||||||
| 
 | 
 | ||||||
|                 formats = [] |                 formats = [] | ||||||
|                 for format_id, format_url in data['file'].items(): |                 for format_id, format_url in data['file'].items(): | ||||||
| @ -64,7 +68,7 @@ class BandcampIE(InfoExtractor): | |||||||
|                 self._sort_formats(formats) |                 self._sort_formats(formats) | ||||||
| 
 | 
 | ||||||
|                 return { |                 return { | ||||||
|                     'id': compat_str(data['id']), |                     'id': track_id, | ||||||
|                     'title': data['title'], |                     'title': data['title'], | ||||||
|                     'formats': formats, |                     'formats': formats, | ||||||
|                     'duration': float_or_none(data.get('duration')), |                     'duration': float_or_none(data.get('duration')), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user