aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoratomizer <danila.gerasimov@gmail.com>2013-01-07 16:59:39 +0400
committeratomizer <danila.gerasimov@gmail.com>2013-01-07 16:59:39 +0400
commitfa1bf9c65315c0c5168652149a9decefdef1ba55 (patch)
tree783a481ad64b83ec62043d68c28149e341dc8604
parent0aa3068e9e0e9697131907c4bd20aa6ca0759978 (diff)
justin.tv tweaks
- download all parts of a broadcast, fixes #614 - set "uploader" variable to channel_name if available - catch api errors even if http status is 200
-rwxr-xr-xyoutube_dl/InfoExtractors.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py
index 136e4183e..4f87eeb39 100755
--- a/youtube_dl/InfoExtractors.py
+++ b/youtube_dl/InfoExtractors.py
@@ -3524,17 +3524,23 @@ class JustinTVIE(InfoExtractor):
return
response = json.loads(webpage)
+ if type(response) != list:
+ error_text = response.get('error', 'unknown error')
+ self._downloader.trouble(u'ERROR: Justin.tv API: %s' % error_text)
+ return
info = []
for clip in response:
video_url = clip['video_file_url']
if video_url:
video_extension = os.path.splitext(video_url)[1][1:]
- video_date = re.sub('-', '', clip['created_on'][:10])
+ video_date = re.sub('-', '', clip['start_time'][:10])
+ video_uploader_id = clip.get('user_id', clip.get('channel_id'))
info.append({
'id': clip['id'],
'url': video_url,
'title': clip['title'],
- 'uploader': clip.get('user_id', clip.get('channel_id')),
+ 'uploader': clip.get('channel_name', video_uploader_id),
+ 'uploader_id': video_uploader_id,
'upload_date': video_date,
'ext': video_extension,
})
@@ -3553,7 +3559,7 @@ class JustinTVIE(InfoExtractor):
paged = True
api += '/channel/archives/%s.json'
else:
- api += '/clip/show/%s.json'
+ api += '/broadcast/by_archive/%s.json'
api = api % (video_id,)
self.report_extraction(video_id)