fix video length not being gotten for grid renderers

This commit is contained in:
James Taylor 2018-07-06 18:12:41 -07:00
parent 2cf83d6e2a
commit 1eecc5a880
2 changed files with 14 additions and 3 deletions

View File

@ -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

View File

@ -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)