From 3aff9ac1cd68f3dbdba1bd8371ed6ae7614dbd64 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Wed, 30 Sep 2015 20:59:52 +0200 Subject: Add RobotSession Currently it does nothing useful. --- server/user_session.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'server/user_session.py') 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): -- cgit v1.2.1