aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--youtube/channel.py4
-rw-r--r--youtube/common.py13
2 files changed, 14 insertions, 3 deletions
diff --git a/youtube/channel.py b/youtube/channel.py
index f04ac45..96e85c8 100644
--- a/youtube/channel.py
+++ b/youtube/channel.py
@@ -80,8 +80,8 @@ def get_channel_tab(channel_id, page="1", sort=3, tab='videos', view=1):
content = common.fetch_url(url, headers_1)
print("Finished recieving channel tab response")
- '''with open('debug/channel_debug', 'wb') as f:
- f.write(content)'''
+ with open('debug/channel_debug', 'wb') as f:
+ f.write(content)
info = json.loads(content)
return info
diff --git a/youtube/common.py b/youtube/common.py
index 6994064..d9429a2 100644
--- a/youtube/common.py
+++ b/youtube/common.py
@@ -360,7 +360,18 @@ def renderer_info(renderer):
info['views'] = get_text(renderer['viewCountText'])
elif 'shortViewCountText' in renderer:
info['views'] = get_text(renderer['shortViewCountText'])
-
+ try:
+ overlays = renderer['thumbnailOverlays']
+ except KeyError:
+ pass
+ else:
+ for overlay in overlays:
+ try:
+ info['duration'] = get_text(overlay['thumbnailOverlayTimeStatusRenderer']['text'])
+ except KeyError:
+ pass
+ else:
+ break
for key, node in renderer.items():
if key in ('longBylineText', 'shortBylineText'):
info['author'] = get_text(node)