diff options
author | Timotej Lazar <timotej.lazar@fri.uni-lj.si> | 2019-02-20 03:24:54 +0100 |
---|---|---|
committer | Timotej Lazar <timotej.lazar@fri.uni-lj.si> | 2019-02-20 03:24:54 +0100 |
commit | 2dd80251f10b11030abd36e56aff0d1f3a86a754 (patch) | |
tree | 881acb33dc4014487eda4faf8c5d383dcd4fdf1c /kpov_judge/add_task.py | |
parent | d0c2fc09b6dc0c51167f15361d5a4a4c2050f205 (diff) |
Fix and clean up token-based access to params and results
Diffstat (limited to 'kpov_judge/add_task.py')
-rwxr-xr-x | kpov_judge/add_task.py | 15 |
1 files changed, 10 insertions, 5 deletions
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 |