diff options
author | Timotej Lazar <timotej.lazar@araneo.org> | 2015-08-28 17:44:51 +0200 |
---|---|---|
committer | Timotej Lazar <timotej.lazar@araneo.org> | 2015-08-28 17:44:51 +0200 |
commit | 29892da19ae7c1b2777f48bce4674262d2a19cef (patch) | |
tree | fce7e6007b7d9d8b9a8b6a26649a80ad8c6d0183 /wsgi_server.py | |
parent | ad7c5dbfea7730150f9e749349bee4e3db12af84 (diff) |
Add a hint service for Prolog
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 1624772..50676b4 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 Hint(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() + hints = prolog.hint(session.get_uid(), problem_id, program) + return {'code': 0, 'message': 'ok', 'hints': hints} + class Test(CodeqService): def process(self, js, session): problem_id = js.get('problem_id') @@ -186,6 +199,9 @@ api.add_route('/activity', activity) query = Query() api.add_route('/query', query) +hint = Hint() +api.add_route('/hint', hint) + test = Test() api.add_route('/test', test) |