wcs/wcs/sessions.py

34 lines
947 B
Python

import random
import qommon.sessions
from qommon.sessions import Session
class BasicSession(Session):
anonymous_key = None
magictokens = None
def has_info(self):
return self.anonymous_key or self.magictokens or Session.has_info(self)
is_dirty = has_info
def get_anonymous_key(self, generate = False):
if self.anonymous_key:
return self.anonymous_key
if generate:
self.anonymous_key = random.randint(0, 1000000000)
return self.anonymous_key
def add_magictoken(self, token, data):
if not self.magictokens:
self.magictokens = {}
self.magictokens[token] = data
def get_by_magictoken(self, token, default = None):
if not self.magictokens:
return default
return self.magictokens.get(token, default)
qommon.sessions.BasicSession = BasicSession
StorageSessionManager = qommon.sessions.StorageSessionManager