diff options
author | Timotej Lazar <timotej.lazar@araneo.org> | 2015-08-27 18:08:26 +0200 |
---|---|---|
committer | Timotej Lazar <timotej.lazar@araneo.org> | 2015-08-27 18:15:05 +0200 |
commit | 965bbb88e9727d4376f950239fc06a9fc6c1a723 (patch) | |
tree | 7c73a7ba5cd40fcbd82f289f8e8a7a30eaaceeea /wsgi_server.py | |
parent | b00e270965ee4bbfb570a00c921396424192a69e (diff) |
Add test service to wsgi_server
This calls the test function defined in common.py for the given problem.
Diffstat (limited to 'wsgi_server.py')
-rw-r--r-- | wsgi_server.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/wsgi_server.py b/wsgi_server.py index 76489db..1624772 100644 --- a/wsgi_server.py +++ b/wsgi_server.py @@ -147,6 +147,19 @@ class Query(CodeqService): session.update_solution(problem_id, trace, program) return result +class Test(CodeqService): + def process(self, js, session): + problem_id = js.get('problem_id') + program = js.get('program') + if problem_id is None: + return {'code': 1, 'message': 'Problem ID not given'} + if program is None: + return {'code': 2, 'message': 'No program specified'} + + prolog = session.get_prolog() + messages = prolog.test(session.get_uid(), problem_id, program) + return {'code': 0, 'message': 'ok', 'terminal': {'messages': messages}} + class GetProblem(CodeqService): def process(self, js, session): language = js.get('language') @@ -173,6 +186,9 @@ api.add_route('/activity', activity) query = Query() api.add_route('/query', query) +test = Test() +api.add_route('/test', test) + get_problem = GetProblem() api.add_route('/get_problem', get_problem) |