class UserTokens(SimpleItem): def __init__(self): self.user_tokens = PersistentMapping() def generateToken(self, userId): import random token = str(random.random()).split('.')[1] self.user_tokens[token] = userId return token def getUserId(self, userToken): if self.user_tokens.has_key(token): return self.user_tokens[token] return None def getUserToken(self, userId): for token, user_id in self.user_tokens.iteritems(): if user_id == userId: return token return None def getUserTokensList(self): tokens = [] for token, user_id in self.user_tokens.iteritems(): tokens.append({'userId' : user_id, 'userToken' : token}) return tokens def removeToken(self, userToken): """ Remove user token. """ if self.user_tokens.has_key(userToken): del self.user_tokens[userToken] else: LOG('', WARNING, 'Tried to remove unexisting token : %s' % userToken)