projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youtube:user] Preserve user/c path segment
[youtube-dl]
/
youtube_dl
/
extractor
/
bandcamp.py
diff --git
a/youtube_dl/extractor/bandcamp.py
b/youtube_dl/extractor/bandcamp.py
index c1ef8051d3074a6551941bf140f88eee4ed8a124..991ab0676e6b93a1c64d04f48b3728551bc4ccf0 100644
(file)
--- a/
youtube_dl/extractor/bandcamp.py
+++ b/
youtube_dl/extractor/bandcamp.py
@@
-29,7
+29,7
@@
class BandcampIE(InfoExtractor):
'_skip': 'There is a limit of 200 free downloads / month for the test song'
}, {
'url': 'http://benprunty.bandcamp.com/track/lanius-battle',
'_skip': 'There is a limit of 200 free downloads / month for the test song'
}, {
'url': 'http://benprunty.bandcamp.com/track/lanius-battle',
- 'md5': '
2b68e5851514c20efdff2afc5603b8b4
',
+ 'md5': '
73d0b3171568232574e45652f8720b5c
',
'info_dict': {
'id': '2650410135',
'ext': 'mp3',
'info_dict': {
'id': '2650410135',
'ext': 'mp3',
@@
-48,6
+48,10
@@
class BandcampIE(InfoExtractor):
if m_trackinfo:
json_code = m_trackinfo.group(1)
data = json.loads(json_code)[0]
if m_trackinfo:
json_code = m_trackinfo.group(1)
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 = []
for format_id, format_url in data['file'].items():
formats = []
for format_id, format_url in data['file'].items():
@@
-64,7
+68,7
@@
class BandcampIE(InfoExtractor):
self._sort_formats(formats)
return {
self._sort_formats(formats)
return {
- 'id':
compat_str(data['id'])
,
+ 'id':
track_id
,
'title': data['title'],
'formats': formats,
'duration': float_or_none(data.get('duration')),
'title': data['title'],
'formats': formats,
'duration': float_or_none(data.get('duration')),