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()