mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-10-17 17:49:16 +02:00
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
|
# -*- coding: cp1252 -*-
|
||
|
from config_utils import Configuration, ConfigurationResetException
|
||
|
import paths
|
||
|
import os
|
||
|
import session_exceptions
|
||
|
|
||
|
manager = None
|
||
|
def setup():
|
||
|
global manager
|
||
|
manager = sessionManager()
|
||
|
|
||
|
class sessionManager(object):
|
||
|
def __init__(self):
|
||
|
FILE = "sessions.conf"
|
||
|
SPEC = "sessions.defaults"
|
||
|
try:
|
||
|
self.main = Configuration(paths.config_path(FILE), paths.app_path(SPEC))
|
||
|
except ConfigurationResetException:
|
||
|
pass
|
||
|
|
||
|
def get_current_session(self):
|
||
|
if self.is_valid(self.main["sessions"]["current_session"]):
|
||
|
return self.main["sessions"]["current_session"]
|
||
|
else:
|
||
|
return False
|
||
|
|
||
|
def add_session(self, id):
|
||
|
path = paths.config_path(id)
|
||
|
if not os.path.exists(path):
|
||
|
os.mkdir(path)
|
||
|
self.main["sessions"]["sessions"].append(id)
|
||
|
|
||
|
def set_current_session(self, sessionID):
|
||
|
self.main["sessions"]["current_session"] = sessionID
|
||
|
self.main.write()
|
||
|
|
||
|
def is_valid(self, id):
|
||
|
if not os.path.exists(paths.config_path(id)):
|
||
|
raise session_exceptions.NonExistentSessionError("That session does not exist.")
|
||
|
self.main["sessions"]["current_session"] = ""
|
||
|
return False
|
||
|
else:
|
||
|
return True
|