Spaces:
Sleeping
Sleeping
File size: 4,078 Bytes
94b8c12 76fd605 94b8c12 76fd605 94b8c12 8de6f2c 94b8c12 76fd605 94b8c12 76fd605 8de6f2c 94b8c12 b85eeeb 94b8c12 b85eeeb 94b8c12 bf151d0 |
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
import ast
import time
import tools
import avaimet
import globales
import nycklar.nodes as nodes
#Aqu铆 van las funciones principales, las que son llamadas directo por la API.
#Las que interactuan con el servidor est谩n en el m贸dulo avaimet.
#Y las herramientas adicionales est谩n en tools.
def getData(aplicacion):
#Genera conexi贸n inicial.
print("Estoy en getData...")
sshListo, sftpListo = avaimet.conecta()
#dir_data = avaimet.obtenDireccionArchivo() #Coment茅 茅ste pq me estar铆a ahorrando 茅sta funci贸n as铆:
dir_data = nodes.users_data + aplicacion + globales.data
print("脡sto es dir data...", dir_data)
#Obtiene el json con los datos.
data = avaimet.obtenContenidoArchivo(sftpListo, dir_data)
#Cierra la conexi贸n.
avaimet.cierraConexion(sshListo, sftpListo)
return data
def getTokens(userfile, env):
#Genera conexi贸n inicial.
sshListo, sftpListo = avaimet.conecta()
#Obtiene la caja donde est谩 guardados los tokens.
caja = avaimet.obtenCaja(userfile, env)
#Obtiene los tokens que hay en esa caja.
tokens = avaimet.obtenTokens(sftpListo, caja)
#Cierra la conexi贸n.
avaimet.cierraConexion(sshListo, sftpListo)
return tokens
def authorize(tokens, work):
print(f"Task received : {work}, type: {type(work)} ...")
##脡sta secci贸n se reutilizar谩 si en lugar de pasar el par谩metro token, se pasa el par谩metro userfile.
#Actualmente no lo pedimos porque es el developer el que pone la cantidad de tokens que el usuario tiene para...
#...evitar otra vuelta al server, por mayor certeza o seguridad se puede hacer esa ida.
#En un futuro incluso se pueden hacer los dos tipos de autorizaci贸n en dos endpoints distintos. O en un solo endpoint con...
#...las dos opciones.
#Genera conexi贸n inicial.
#sshListo, sftpListo = avaimet.conecta()
#Obtiene la caja donde est谩 guardados los tokens.
#caja = avaimet.obtenCaja(userfile)
#Obtiene los tokens que hay en esa caja.
#tokens = avaimet.obtenTokens(sftpListo, caja)
#True si autoriza o false si no autoriza.
result = avaimet.autoriza(tokens, work)
#Cierra la conexi贸n.
#avaimet.cierraConexion(sshListo, sftpListo)
return result
def debitTokens(userfile, work):
print(f"Task received : {work}, type: {type(work)} ...")
#Genera conexi贸n inicial.
sshListo, sftpListo = avaimet.conecta()
#Obtiene la caja donde est谩 guardados los tokens.
caja = avaimet.obtenCaja(userfile)
#Obtiene los tokens que hay en esa caja.
tokens = avaimet.obtenTokens(sftpListo, caja)
#Aplica las reglas de 茅sta app para debitar lo correspondiente.
resultado_debitado = avaimet.restaToken(sftpListo, caja, tokens, work)
#Cierra la conexi贸n.
avaimet.cierraConexion(sshListo, sftpListo)
return resultado_debitado
def getUserNovelty(userfile):
usuario = tools.decompileUser(userfile)
#Genera conexi贸n inicial (general para cualquier funci贸n.)
sshListo, sftpListo = avaimet.conecta()
#Obtiene la caja donde est谩 guardados las flags de novelty.
dir_data = avaimet.obtenDireccionArchivo(globales.novelty)
#Obtiene el json con los datos.
data = avaimet.obtenContenidoArchivo(sftpListo, dir_data)
# Convertir el string a una lista de tuplas utilizando ast.literal_eval()
lista_tuplas = ast.literal_eval(data)
tupla_encontrada = None # Inicializamos una variable para almacenar la tupla encontrada
avaimet.cierraConexion(sshListo, sftpListo)
#Future, 驴se puede acaso que se cierre el contenido y que haga la conversi贸n al mismo tiempo?
for tupla in lista_tuplas:
if tupla[0] == usuario:
tupla_encontrada = tupla
break
if tupla_encontrada:
print("La tupla encontrada es:", tupla_encontrada)
novelty = tupla_encontrada[1]
return novelty
else:
print("No se encontr贸 ninguna tupla con el texto especificado.")
return "no user" |