34 lines
947 B
Python
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
|