ingenieros.py
1.77 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import json, datetime, time, apollo
class ingenieros():
"""Esta Clase abstrae la relacion de los usuarios de login y los datos
de los usuarios, al dia de mañana se podria mover a laika si es necesario
Pero por ahora los armo en un json y a la mierda no hay tantos ingenieros
ni tanta rotacion"""
def __init__(self) -> None:
self.Archivo = "data/ingenieros.json"
self.cache = {}
self.delta = datetime.timedelta(seconds=100)
self._last_update = datetime.datetime.now() #- self.delta
self.LeerArchivo(force=True)
def CacheVencido(self):
a = datetime.datetime.now()
return a - self._last_update > self.delta
def LeerDatosUsuario(self,usuario):
"""Lee los datos de un usuario desde el cache si el tiempo
no excede el delta"""
try:
rta = self.LeerArchivo()[usuario]
except Exception as E:
print(E)
rta = {"nombreyapellido":"Usuario no cargado","matricula":""}
return rta
def LeerArchivo(self,force=False):
if self.CacheVencido() or force:
with open(self.Archivo) as file:
data = json.load(file)
self.cache = data
self._last_update = datetime.datetime.now()
else:
data = self.cache
return data
if __name__ == "__main__":
ing = ingenieros()
print(apollo.estaticos.FechaHora())
for n in range(0,125):
apollo.estaticos.FechaHora()
print(ing.LeerDatosUsuario(usuario="mdfernandez054"))
print(ing.LeerDatosUsuario(usuario="usfsder"))
#print(ing.cache)
#print(ing.LeerArchivo())
if ing.CacheVencido():
print(apollo.estaticos.FechaHora())
quit()
time.sleep(1)