Spaces:
Running
Running
File size: 4,312 Bytes
2011e87 12cb4be 2011e87 12cb4be |
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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
import os
import socket
import time
def obtenAccesoHF():
if local_check():
print("Estoy en LOCAL...")
import bridges
llave = bridges.llave
else:
print("Estoy en REMOTO...")
llave = os.getenv("llave")
print("Ésto es llave:", llave)
return llave
def local_check():
hostname = socket.gethostname()
#r-moibe-nowme
print("Dentro de local_check... , el hostname es: ", hostname)
if "r-moibe-nowme" in hostname:
print("Ejecutando en el servidor")
return False
else:
print("Ejecutando en local")
return True
def obtenUltimoTimestamp():
"""
Obtiene el último timestamp de renovación guardado.
"""
archivo_ruta = "archivos/last_timestamp.txt"
try:
with open(archivo_ruta, 'r') as archivo:
contenido = archivo.readline().strip()
ultimo_timestamp = int(contenido)
return ultimo_timestamp
except FileNotFoundError:
print(f"Error: El archivo '{archivo_ruta}' no fue encontrado.")
return
except ValueError:
print(f"Error: El contenido del archivo '{archivo_ruta}' no es un número entero válido.")
return
def nuevoDia():
"""
Compara dos timestamps (en formato string ISO) y devuelve True si han
pasado más de 24 horas entre ellos, False en caso contrario.
"""
timestamp_original = obtenUltimoTimestamp()
timestamp_actual = int(time.time())
try:
segundos_en_24_horas = 24 * 60 * 60
diferencia_en_segundos = abs(timestamp_actual - timestamp_original)
return diferencia_en_segundos > segundos_en_24_horas
except ValueError:
print("Error: Formato de timestamp incorrecto.")
return False
def obtenSegundosDisponibles():
print("Estoy en obten segundos disponibles...")
if nuevoDia() == True:
renuevaSegundosDisponibles()
archivo_ruta = "archivos/seconds_available.txt"
try:
# Leer el número actual de segundos disponibles
with open(archivo_ruta, 'r') as archivo:
contenido = archivo.readline().strip()
segundos_disponibles = int(contenido)
return segundos_disponibles
except FileNotFoundError:
print(f"Error: El archivo '{archivo_ruta}' no fue encontrado.")
return
except ValueError:
print(f"Error: El contenido del archivo '{archivo_ruta}' no es un número entero válido.")
return
def renuevaSegundosDisponibles():
print("Estoy en renuevaSegundosDisponibles...")
archivo_ruta = "archivos/seconds_available.txt"
# Guardar el nuevo número en el archivo
try:
with open(archivo_ruta, 'w') as archivo:
archivo.write(str(1500))
print(f"Se renovaron los 1500 segundos disponibles.")
renuevaTimestampActual()
except Exception as e:
print(f"Error al escribir en el archivo '{archivo_ruta}': {e}")
def renuevaTimestampActual():
print("Estoy en renuevatimestmap actual...")
archivo_ruta = "archivos/last_timestamp.txt"
timestamp_actual = int(time.time())
# Guardar el nuevo número en el archivo
try:
with open(archivo_ruta, 'w') as archivo:
archivo.write(str(timestamp_actual))
print(f"Se renovó por el timestamp de éste momento.")
except Exception as e:
print(f"Error al escribir en el archivo '{archivo_ruta}': {e}")
def restaSegundosGPU(segundos):
"""
Lee el número de segundos disponibles desde seconds_available.txt,
resta los segundos dados como parámetro y guarda el nuevo valor en el archivo.
"""
print("Estoy en resta segundos...")
archivo_ruta = "archivos/seconds_available.txt"
segundos_disponibles = obtenSegundosDisponibles()
# Restar los segundos
nuevos_segundos_disponibles = segundos_disponibles - segundos
# Guardar el nuevo número en el archivo
try:
with open(archivo_ruta, 'w') as archivo:
archivo.write(str(nuevos_segundos_disponibles))
print(f"Se restaron {segundos} segundos. Ahora quedan {nuevos_segundos_disponibles} segundos disponibles.")
except Exception as e:
print(f"Error al escribir en el archivo '{archivo_ruta}': {e}") |