flaschengeist/geruecht/controller/accesTokenController.py

52 lines
1.7 KiB
Python
Raw Normal View History

2019-04-11 21:56:55 +00:00
from geruecht.model.accessToken import AccessToken
from datetime import datetime
import time
from threading import Thread
2019-04-11 21:56:55 +00:00
import hashlib
class AccesTokenController(Thread):
2019-04-11 21:56:55 +00:00
tokenList = None
self.lifetime = 60
2019-04-11 21:56:55 +00:00
def __init__(self):
print("init AccesTokenControlle")
print("init threading")
Thread.__init__(self)
2019-04-11 21:56:55 +00:00
self.tokenList = []
def findAccesToken(self, token):
print("search for AccesToken", token)
2019-04-11 21:56:55 +00:00
for accToken in self.tokenList:
if accToken == token:
print("find AccesToken", accToken, "with token", token)
2019-04-11 21:56:55 +00:00
return accToken
print("no AccesToken with", token)
2019-04-11 21:56:55 +00:00
return None
def createAccesToken(self, user):
print("create AccesToken")
now = datetime.ctime(datetime.now())
token = hashlib.md5((now + user.password).encode('utf-8')).hexdigest()
2019-04-11 21:56:55 +00:00
self.tokenList.append(AccessToken(user, token))
print(self.tokenList)
print("finished create AccesToken", token)
2019-04-11 21:56:55 +00:00
return token
def isSameGroup(self, accToken, group):
print("controll if", accToken, "hase group", group)
2019-04-11 21:56:55 +00:00
return True if accToken.user.group == group else False
def run(self):
while True:
print("start allocate")
for accToken in self.tokenList:
print("controle", accToken)
if (datetime.now() - accToken.timestamp).seconds > self.lifetime:
print("delete", accToken)
self.tokenList.remove(accToken)
else:
print("time is only", (datetime.now() - accToken.timestamp).seconds)
print(self.tokenList)
print("wait")
time.sleep(10)