summary refs log tree commit diff
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)
downloadyoutube-dl-fa1bf9c65315c0c5168652149a9decefdef1ba55.tar.gz
youtube-dl-fa1bf9c65315c0c5168652149a9decefdef1ba55.tar.xz
youtube-dl-fa1bf9c65315c0c5168652149a9decefdef1ba55.zip
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)