diff options
author | Timotej Lazar <timotej.lazar@araneo.org> | 2015-09-30 20:59:52 +0200 |
---|---|---|
committer | Timotej Lazar <timotej.lazar@araneo.org> | 2015-09-30 20:59:52 +0200 |
commit | 3aff9ac1cd68f3dbdba1bd8371ed6ae7614dbd64 (patch) | |
tree | 1147ce74a13f40f64522aaf6ffac5e40f5253fc8 /server/user_session.py | |
parent | d9a62c1cde08dd26d5675d46ff73f8ebb50a55ef (diff) |
Add RobotSession
Currently it does nothing useful.
Diffstat (limited to 'server/user_session.py')
-rw-r--r-- | server/user_session.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/server/user_session.py b/server/user_session.py index 0fa7433..f53ae57 100644 --- a/server/user_session.py +++ b/server/user_session.py @@ -7,6 +7,7 @@ import base64 import random from . import prolog_session from . import python_session +from . import robot_session from . import problems from . import handlers import db @@ -33,6 +34,7 @@ class UserSession(object): self.username = username self.prolog_session = None self.python_session = None + self.robot_session = None self.settings = settings def destroy(self): @@ -46,6 +48,9 @@ class UserSession(object): if self.python_session is not None: self.python_session.destroy() self.python_session = None + if self.robot_session is not None: + self.robot_session.destroy() + self.robot_session = None # TODO: add any cleanups as features are added! def get_sid(self): @@ -86,6 +91,12 @@ class UserSession(object): output_cb=lambda text: self.send({'event': 'terminal_output', 'text': text})) return self.python_session + def get_robot(self): + with self._access_lock: + if self.robot_session is None: + self.robot_session = robot_session.RobotSession() + return self.robot_session + def get_problem_data(self, language, problem_group, problem): mod = problems.load_problem(language, problem_group, problem, 'sl') mod_language = problems.load_language(language, 'sl') @@ -170,6 +181,9 @@ class UserSession(object): if hasattr(self, 'python_session') and (self.python_session is not None): self.python_session.destroy() self.python_session = None + if hasattr(self, 'robot_session') and (self.python_session is not None): + self.robot_session.destroy() + self.robot_session = None # TODO: add any cleanups as features are added! def get_session_by_id(sid): |