summaryrefslogtreecommitdiff
path: root/server/user_session.py
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.org>2015-09-30 20:59:52 +0200
committerTimotej Lazar <timotej.lazar@araneo.org>2015-09-30 20:59:52 +0200
commit3aff9ac1cd68f3dbdba1bd8371ed6ae7614dbd64 (patch)
tree1147ce74a13f40f64522aaf6ffac5e40f5253fc8 /server/user_session.py
parentd9a62c1cde08dd26d5675d46ff73f8ebb50a55ef (diff)
Add RobotSession
Currently it does nothing useful.
Diffstat (limited to 'server/user_session.py')
-rw-r--r--server/user_session.py14
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):