-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapplication_cache.py
More file actions
31 lines (22 loc) · 1009 Bytes
/
application_cache.py
File metadata and controls
31 lines (22 loc) · 1009 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
__author__ = 'pde'
from database import db_session
from models import Profile, User,Session
class ApplicationCache:
def __init__(self):
self.session_cache = {}
self.user_cache = {}
def load_user_cache(self):
for result in db_session.query(Profile, User).filter(Profile.user == User.id).all():
self.user_cache[result[1].id] = result[0].clubkey
def load_active_sessions(self):
for result in db_session.query(Session).\
filter((Session.active==1)):
self.session_cache[result.sessiontoken] = result.iduser
def add_session_to_cache(self, user_session):
self.session_cache[user_session.sessiontoken] = user_session.iduser
def remove_session_from_cache(self,sessiontoken):
if sessiontoken in self.session_cache:
del self.session_cache[sessiontoken]
def get_club_by_sessiontoken(self, sessiontoken):
club = self.user_cache[self.session_cache[sessiontoken]]
return club