summaryrefslogtreecommitdiff
path: root/wsgi_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'wsgi_server.py')
-rw-r--r--wsgi_server.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/wsgi_server.py b/wsgi_server.py
index df3c303..2597403 100644
--- a/wsgi_server.py
+++ b/wsgi_server.py
@@ -145,29 +145,45 @@ class Query(CodeqService):
class Hint(CodeqService):
def process(self, js, session):
+ language = js.get('language')
problem_id = js.get('problem_id')
program = js.get('program')
+
if problem_id is None:
- return {'code': 1, 'message': 'Problem ID not given'}
+ return {'code': 1, 'message': 'No problem ID specified'}
if program is None:
return {'code': 2, 'message': 'No program specified'}
- prolog = session.get_prolog()
- hints = prolog.hint(session.get_uid(), problem_id, program)
+ if language == 'prolog':
+ lang_session = session.get_prolog()
+ elif language == 'python':
+ lang_session = session.get_python()
+ else:
+ return {'code': 3, 'message': 'Unknown language specified'}
+
+ hints = lang_session.hint(session.get_uid(), problem_id, program)
return {'code': 0, 'message': 'ok', 'hints': hints}
class Test(CodeqService):
def process(self, js, session):
+ language = js.get('language')
problem_id = js.get('problem_id')
program = js.get('program')
+
if problem_id is None:
- return {'code': 1, 'message': 'Problem ID not given'}
+ return {'code': 1, 'message': 'No problem ID specified'}
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', 'hints': messages}
+ if language == 'prolog':
+ lang_session = session.get_prolog()
+ elif language == 'python':
+ lang_session = session.get_python()
+ else:
+ return {'code': 3, 'message': 'Unknown language specified'}
+
+ hints = lang_session.test(session.get_uid(), problem_id, program)
+ return {'code': 0, 'message': 'ok', 'hints': hints}
class GetProblem(CodeqService):
def process(self, js, session):