def GetUserToken(uID, tokenMaxAge=None): u = GetUserByID(uID) if u: t = Token(created=time.time(), token=secrets.token_urlsafe(), expires=time.time() + GetTokenMaxAge(uID) if tokenMaxAge == None else time.time() + tokenMaxAge) u.currentTokens.append(t) ct = 0 for _ in range(len(u.currentTokens)): if u.currentTokens[ct].expires < time.time(): u.currentTokens.pop(ct) # Remove expired token and don't update index else: ct += 1 try: u.save() return { 'code': 0, 'message': 'Successfully got the token', 'token': t.token } except: return { 'code': -1, 'message': 'Could not acquire token', 'token': None } return {'code': -1, 'message': 'Could not acquire token', 'token': None}