From 959f5f0f71b51ac47870a40b09157c6deef73a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Smodi=C5=A1?= Date: Tue, 25 Aug 2015 19:05:00 +0200 Subject: Work on handling activity trace. --- server/prolog_session.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'server/prolog_session.py') diff --git a/server/prolog_session.py b/server/prolog_session.py index c21d929..039f40a 100644 --- a/server/prolog_session.py +++ b/server/prolog_session.py @@ -37,9 +37,11 @@ class PrologSession(object): No properties are accessible; use getters and setters instead. Values are passed by value instead of by reference (deep copy!). """ - def __init__(self): + def __init__(self, user_session): + self._user_session = user_session # the owning session self._access_lock = threading.Lock() self._engine_id = None + self._problem_id = -1 def run(self, code): with self._access_lock: @@ -78,6 +80,7 @@ class PrologSession(object): if self._engine_id is not None: prolog.engine.stop(self._engine_id) self._engine_id = None + self._problem_id = -1 return [], 'ok', False def __del__(self): @@ -116,4 +119,6 @@ class PrologSession(object): if status == 'ok': more_messages, status, have_more = self.query(query) messages.extend(more_messages) + self._problem_id = problem_id + self._user_session.update_solution(problem_id, [], program) return messages, status, have_more -- cgit v1.2.1