From 2dd80251f10b11030abd36e56aff0d1f3a86a754 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Wed, 20 Feb 2019 03:24:54 +0100 Subject: Fix and clean up token-based access to params and results --- kpov_judge/add_task.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'kpov_judge/add_task.py') diff --git a/kpov_judge/add_task.py b/kpov_judge/add_task.py index 066efed..5b77668 100755 --- a/kpov_judge/add_task.py +++ b/kpov_judge/add_task.py @@ -12,12 +12,17 @@ import pymongo from bson import Binary def task_check(results, params): - data = urllib.parse.urlencode({ + data = { 'results': json.dumps(results), - 'params': json.dumps(params) - }).encode() - req = urllib.request.Request('{task_url}/{task_name}/results-token.json'.format(task_url=task_url, task_name=task_name), data) - response = urllib.request.urlopen(req) + 'params': json.dumps({k: v for k, v in params.items() if k != 'token'}), + } + # should be an argument to task_check, but probably better not modify the signature… + if 'token' in params: + data['token'] = params['token'] + + response = urllib.request.urlopen( + '{task_url}/{task_name}/results.json'.format(task_url=task_url, task_name=task_name), + data=urllib.parse.urlencode(data).encode()) response_dict = json.loads(response.read().decode()) hints = response_dict.get('hints', []) hints = ['status: ' + response_dict.get('status', '')] + hints -- cgit v1.2.1