summaryrefslogtreecommitdiff
path: root/wsgi_server.py
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.org>2015-08-28 17:44:51 +0200
committerTimotej Lazar <timotej.lazar@araneo.org>2015-08-28 17:44:51 +0200
commit29892da19ae7c1b2777f48bce4674262d2a19cef (patch)
treefce7e6007b7d9d8b9a8b6a26649a80ad8c6d0183 /wsgi_server.py
parentad7c5dbfea7730150f9e749349bee4e3db12af84 (diff)
Add a hint service for Prolog
Diffstat (limited to 'wsgi_server.py')
-rw-r--r--wsgi_server.py16
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)