Spaces:
Sleeping
Sleeping
File size: 4,511 Bytes
2011e87 12cb4be 95da284 2011e87 95da284 2011e87 95da284 2011e87 95da284 afbac77 95da284 2011e87 95da284 12cb4be afbac77 12cb4be 95da284 12cb4be 95da284 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 139 140 141 |
import os
import time
import socket
def obtenAccesoHF():
if local_check():
print("Estoy en entorno Local...")
import bridges
llave = bridges.llave
else:
print("Estoy en entorno 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)
#Estoy usando el nombre de la app para identificar que estoy corriendola en HF.
if "-nowme" in hostname:
print("Ejecutando api en el servidor.")
return False
else:
print("Ejecutando api 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():
#Segundos de cuota total gratuita disponibles al momento.
quota_total = 300
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(quota_total))
print(f"Se renovaron los {quota_total} 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}") |