From 409fea01971c13eae62109f1b8afc01b94960beb Mon Sep 17 00:00:00 2001 From: James Taylor Date: Sat, 10 Nov 2018 21:13:49 -0800 Subject: Use post/redirect/get method to prevent form resubmission for comments --- youtube/youtube.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'youtube/youtube.py') diff --git a/youtube/youtube.py b/youtube/youtube.py index 5451254..0701beb 100644 --- a/youtube/youtube.py +++ b/youtube/youtube.py @@ -95,9 +95,19 @@ def youtube(env, start_response): else: start_response('400 Bad Request', ()) return b'400 Bad Request' + elif path in ("/post_comment", "/comments"): - start_response('200 OK', () ) - return account_functions.post_comment(query_string, fields).encode() + parameters = urllib.parse.parse_qs(query_string) + account_functions.post_comment(parameters, fields) + if 'parent_id' in parameters: + start_response('303 See Other', (('Location', common.URL_ORIGIN + '/comments?' + query_string),) ) + else: + try: + video_id = fields['video_id'][0] + except KeyError: + video_id = parameters['video_id'][0] + start_response('303 See Other', (('Location', common.URL_ORIGIN + '/comments?ctoken=' + comments.make_comment_ctoken(video_id, sort=1)),) ) + return '' else: start_response('404 Not Found', ()) -- cgit v1.2.3