twblue/src/sessionmanager/manager.py

43 lines
1.1 KiB
Python
Raw Normal View History

# -*- 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