aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Taylor <user234683@users.noreply.github.com>2018-07-06 18:12:41 -0700
committerJames Taylor <user234683@users.noreply.github.com>2018-07-06 18:16:15 -0700
commit1eecc5a880a460ebe18d513a94010b265303d567 (patch)
tree6cdd3909199a3c5ead6d4438f82c5eef5fc0fa13
parent2cf83d6e2a083969aff8ededfcad555ca9bf8e71 (diff)
downloadyt-local-1eecc5a880a460ebe18d513a94010b265303d567.tar.lz
yt-local-1eecc5a880a460ebe18d513a94010b265303d567.tar.xz
yt-local-1eecc5a880a460ebe18d513a94010b265303d567.zip
fix video length not being gotten for grid renderers
-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)