WSGI for /post_comment (POST request)

This commit is contained in:
James Taylor 2019-01-05 02:22:12 -08:00
parent 28270a9ce8
commit a98f94b1ec
2 changed files with 13 additions and 44 deletions

View File

@ -122,42 +122,22 @@ def delete_comment(env, start_response):
else:
start_response('303 See Other', [('Location', common.URL_ORIGIN + '/comment_delete_fail'),] )
def post_comment(parameters, fields):
channel_id = fields['channel_id'][0]
def post_comment(env, start_response):
parameters = env['fields']
video_id = parameters['video_id'][0]
channel_id = parameters['channel_id'][0]
cookiejar = accounts.account_cookiejar(channel_id)
#parameters = urllib.parse.parse_qs(query_string)
try:
video_id = fields['video_id'][0]
except KeyError:
video_id = parameters['video_id'][0]
token = get_session_token(video_id, cookiejar)
if 'parent_id' in parameters:
code = _post_comment_reply(fields['comment_text'][0], parameters['video_id'][0], parameters['parent_id'][0], token, cookiejar)
'''try:
response = comments.get_comments_page(query_string)
except socket.error as e:
traceback.print_tb(e.__traceback__)
return b'Refreshing comment page yielded error 502 Bad Gateway.\nPost comment status code: ' + code.encode('ascii')
except Exception as e:
traceback.print_tb(e.__traceback__)
return b'Refreshing comment page yielded error 500 Internal Server Error.\nPost comment status code: ' + code.encode('ascii')
return response'''
code = _post_comment_reply(parameters['comment_text'][0], parameters['video_id'][0], parameters['parent_id'][0], token, cookiejar)
start_response('303 See Other', (('Location', common.URL_ORIGIN + '/comments?' + env['QUERY_STRING']),) )
else:
code = _post_comment(fields['comment_text'][0], fields['video_id'][0], token, cookiejar)
'''try:
response = comments.get_comments_page('ctoken=' + comments.make_comment_ctoken(video_id, sort=1))
except socket.error as e:
traceback.print_tb(e.__traceback__)
return b'Refreshing comment page yielded error 502 Bad Gateway.\nPost comment status code: ' + code.encode('ascii')
except Exception as e:
traceback.print_tb(e.__traceback__)
return b'Refreshing comment page yielded error 500 Internal Server Error.\nPost comment status code: ' + code.encode('ascii')
return response'''
return code
code = _post_comment(parameters['comment_text'][0], parameters['video_id'][0], token, cookiejar)
start_response('303 See Other', (('Location', common.URL_ORIGIN + '/comments?ctoken=' + comments.make_comment_ctoken(video_id, sort=1)),) )
return b''
def get_delete_comment_page(env, start_response):
start_response('200 OK', [('Content-type','text/html'),])

View File

@ -21,6 +21,8 @@ get_handlers = {
post_handlers = {
'edit_playlist': local_playlist.edit_playlist,
'login': accounts.add_account,
'comments': post_comment.post_comment,
'post_comment': post_comment.post_comment,
'delete_comment': post_comment.delete_comment,
}
@ -111,19 +113,6 @@ def youtube(env, start_response):
start_response('400 Bad Request', ())
return b'400 Bad Request'
elif path in ("/post_comment", "/comments"):
parameters = urllib.parse.parse_qs(query_string)
post_comment.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', ())
return b'404 Not Found'