Comments: In title, indicate page number or that page contains replies

This commit is contained in:
James Taylor 2018-08-26 00:17:24 -07:00
parent 97a789f81c
commit d9115ea2cf

View File

@ -71,6 +71,20 @@ def comment_replies_ctoken(video_id, comment_id, max_results=500):
result = proto.nested(2, proto.string(2, video_id)) + proto.uint(3,6) + proto.nested(6, params) result = proto.nested(2, proto.string(2, video_id)) + proto.uint(3,6) + proto.nested(6, params)
return base64.urlsafe_b64encode(result).decode('ascii') return base64.urlsafe_b64encode(result).decode('ascii')
def ctoken_metadata(ctoken):
result = dict()
params = proto.parse(proto.b64_to_bytes(ctoken))
result['video_id'] = proto.parse(params[2])[2]
offset_information = proto.parse(params[6])
result['offset'] = offset_information.get(5, 0)
result['is_replies'] = False
if 3 in offset_information:
if 2 in offset_information[3]:
result['is_replies'] = True
return result
def get_ids(ctoken): def get_ids(ctoken):
params = proto.parse(proto.b64_to_bytes(ctoken)) params = proto.parse(proto.b64_to_bytes(ctoken))
video_id = proto.parse(params[2])[2] video_id = proto.parse(params[2])[2]
@ -241,6 +255,11 @@ def get_comments_page(query_string):
ctoken = comment_replies_ctoken(video_id, parent_id) ctoken = comment_replies_ctoken(video_id, parent_id)
replies = True replies = True
metadata = ctoken_metadata(ctoken)
if replies:
page_title = 'Replies'
else:
page_title = 'Comments page ' + str(int(metadata['offset']/20) + 1)
result = parse_comments_polymer(request_comments(ctoken, replies), replies) result = parse_comments_polymer(request_comments(ctoken, replies), replies)
comments_html, ctoken = get_comments_html(result) comments_html, ctoken = get_comments_html(result)
if ctoken == '': if ctoken == '':
@ -251,7 +270,7 @@ def get_comments_page(query_string):
return yt_comments_template.substitute( return yt_comments_template.substitute(
header = common.get_header(), header = common.get_header(),
comments = comments_html, comments = comments_html,
page_title = 'Comments', page_title = page_title,
more_comments_button=more_comments_button, more_comments_button=more_comments_button,
) )