49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
import streamlit as st
|
|
import os
|
|
|
|
|
|
# @st.cache_data
|
|
def import_file() -> str:
|
|
List_of_files: list = []
|
|
# Cargar el archivo pdf
|
|
archivo = st.file_uploader("Arrastra o ingresa tu archivo .pdf", type=[".pdf"])
|
|
nombre_archivo: str = ""
|
|
# Verificar si se ha cargado un archivo
|
|
if archivo is not None:
|
|
nombre_archivo = archivo.name
|
|
|
|
# Agregamos el nombre a la lista de archvios para luego podr verificarlos
|
|
List_of_files.append(nombre_archivo)
|
|
st.success(
|
|
f"El numero de archivos en la lista de archivos es de: {len(List_of_files)}"
|
|
)
|
|
|
|
# Abrir un archivo en modo escritura binaria ('wb') para guardar el archivo de audio
|
|
with open(f"documents/pdfs/{nombre_archivo}", "wb") as new_file:
|
|
# Leer los datos del archivo cargado y escribirlos en el nuevo archivo
|
|
new_file.write(archivo.read())
|
|
|
|
st.success(f"Se carga el archivo con nombre: {nombre_archivo}")
|
|
|
|
# Verificamos que en la lista solo haya un archivo, de lo contrario, limpiamos la session_state
|
|
if (
|
|
"archivo_anterior" in st.session_state
|
|
and st.session_state.archivo_anterior != nombre_archivo
|
|
):
|
|
st.session_state.clear()
|
|
|
|
st.session_state.archivo_anterior = nombre_archivo
|
|
|
|
return nombre_archivo
|
|
|
|
|
|
# Define la función para borrar el caché
|
|
|
|
|
|
def clear_cache():
|
|
cache_path = os.path.join(st.__path__[0], "static", "cache")
|
|
for root, dirs, files in os.walk(cache_path):
|
|
for file in files:
|
|
os.remove(os.path.join(root, file))
|
|
st.success("Cache limpio exitosamente.")
|