Spaces:
Running
Running
File size: 2,156 Bytes
2303553 3b87fd3 2303553 ea6d989 2303553 ea6d989 2303553 ea6d989 2303553 ea6d989 2303553 ea6d989 2303553 3b87fd3 ea6d989 3b87fd3 ea6d989 07c0be5 2303553 07c0be5 ea6d989 2303553 07c0be5 2303553 ea6d989 2303553 ea6d989 2303553 |
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 |
import os
import time
import paramiko
import compiler
import nycklar.nodes as nodes
def conecta():
#Digital Signature.
ssh = paramiko.SSHClient()
ssh.load_host_keys("nycklar/itrst")
#Ahora obtendremos nuestra secret key para poder entrar a ese servidor.
project_dir = os.getcwd()
key_filename = os.path.join(project_dir, "nycklar", "go")
ssh.connect(nodes.realm, username=nodes.master, key_filename=key_filename)
sftp = ssh.open_sftp()
return ssh, sftp
def obtenCaja(userfile):
# Ruta del archivo remoto
ruta_remota = nodes.avaimentekijä
print("Encoding...")
userfile_codificado = userfile.encode("utf-8")
print(f"El userfile sin la b, se decodifica y queda: {userfile_codificado} y es del tipo {type(userfile_codificado)} ...")
time.sleep(3)
# print("convirtiendo a bytes")
# bytes_userfile = bytes(userfile)
# print(f"El userfile se convirtio via bytes en userfile_codificado es: {bytes_userfile} y es del tipo {type(bytes_userfile)} ...")
# time.sleep(15)
print("Estoy afuera, enviando al compiler.")
username = compiler.do(userfile_codificado)
print("Username es: ", username)
caja = ruta_remota + username + ".txt"
print("Éste es el archivo remoto: ", caja)
return caja
def obtenTokens(sftp, caja):
with sftp.open(caja, 'rb') as archivo:
# Leer el contenido del archivo como bytes
contenido_bytes = archivo.read()
# Decodificar los bytes a Unicode usando la codificación UTF-8
tokens = contenido_bytes.decode('utf-8')
return tokens
def aplicaReglas(sftp, caja, tokens):
#Aplica reglas de cobro de tokens.
# Agregar el texto "- Revisado." al string
contenido_final = int(tokens) - 1
contenido_final = str(contenido_final)
# Imprimir el contenido
print(contenido_final)
#Actualiza el nuevo valor en el servidor en modo escritura.
with sftp.open(caja, 'w') as archivo:
# Escribir el contenido final en el archivo
archivo.write(contenido_final)
return contenido_final
def cierraConexion(ssh, sftp ):
sftp.close()
ssh.close()
|