Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -402,18 +402,36 @@ def boton_actualizar_fuentes(files):
|
|
402 |
try:
|
403 |
if files:
|
404 |
fuentes_cache = cargar_fuentes_cache()
|
|
|
|
|
|
|
|
|
|
|
405 |
for file in files:
|
406 |
if file.name.lower().endswith('.ttf'):
|
407 |
-
|
|
|
|
|
408 |
|
409 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
shutil.copyfile(file.name, destino)
|
411 |
|
412 |
-
nombre_fuente = os.path.splitext(
|
413 |
fuentes_cache[nombre_fuente] = destino
|
414 |
-
logger.info(f"Fuente '{
|
415 |
else:
|
416 |
logger.warning(f"Archivo '{file.name}' no es una fuente .ttf y será omitido.")
|
|
|
417 |
# Actualizar el caché
|
418 |
cache_path = os.path.join(tempfile.gettempdir(), 'fuentes_sistema.json')
|
419 |
with open(cache_path, 'w', encoding='utf-8') as f:
|
|
|
402 |
try:
|
403 |
if files:
|
404 |
fuentes_cache = cargar_fuentes_cache()
|
405 |
+
|
406 |
+
# Definir el subdirectorio para fuentes subidas
|
407 |
+
subdir_fuentes = os.path.join(tempfile.gettempdir(), 'fuentes_subidas')
|
408 |
+
os.makedirs(subdir_fuentes, exist_ok=True)
|
409 |
+
|
410 |
for file in files:
|
411 |
if file.name.lower().endswith('.ttf'):
|
412 |
+
# Obtener solo el nombre del archivo sin el path completo
|
413 |
+
nombre_archivo = os.path.basename(file.name)
|
414 |
+
destino = os.path.join(subdir_fuentes, nombre_archivo)
|
415 |
|
416 |
+
# Verificar si el archivo ya existe para evitar sobrescritura
|
417 |
+
if os.path.exists(destino):
|
418 |
+
# Puedes optar por sobrescribir, renombrar o saltar
|
419 |
+
# Aquí optamos por renombrar añadiendo un sufijo numérico
|
420 |
+
base, ext = os.path.splitext(nombre_archivo)
|
421 |
+
contador = 1
|
422 |
+
while os.path.exists(os.path.join(subdir_fuentes, f"{base}_{contador}{ext}")):
|
423 |
+
contador += 1
|
424 |
+
destino = os.path.join(subdir_fuentes, f"{base}_{contador}{ext}")
|
425 |
+
|
426 |
+
# Copiar el archivo al subdirectorio
|
427 |
shutil.copyfile(file.name, destino)
|
428 |
|
429 |
+
nombre_fuente = os.path.splitext(nombre_archivo)[0]
|
430 |
fuentes_cache[nombre_fuente] = destino
|
431 |
+
logger.info(f"Fuente '{nombre_archivo}' subida y guardada en {destino}")
|
432 |
else:
|
433 |
logger.warning(f"Archivo '{file.name}' no es una fuente .ttf y será omitido.")
|
434 |
+
|
435 |
# Actualizar el caché
|
436 |
cache_path = os.path.join(tempfile.gettempdir(), 'fuentes_sistema.json')
|
437 |
with open(cache_path, 'w', encoding='utf-8') as f:
|