Spaces:
Sleeping
Sleeping
import streamlit as st | |
import os | |
import zipfile | |
from spacy2 import classifica_e_sposta_documenti | |
st.title('Categorizzazione Documenti') | |
uploaded_file = st.file_uploader("Carica un file ZIP contenente i documenti", type="zip") | |
if uploaded_file is not None: | |
# Salva il file ZIP caricato in una directory temporanea | |
with open("temp.zip", "wb") as f: | |
f.write(uploaded_file.getbuffer()) | |
# Estrai il file ZIP | |
with zipfile.ZipFile("temp.zip", 'r') as zip_ref: | |
zip_ref.extractall("temp") | |
# Elabora ogni file nella directory estratta | |
for file_name in os.listdir("temp"): | |
classifica_e_sposta_documenti("temp", file_name) | |
# Ricomprimi i file processati in un nuovo file ZIP | |
with zipfile.ZipFile('processed.zip', 'w') as zipf: | |
for root, dirs, files in os.walk("temp"): | |
for file in files: | |
zipf.write(os.path.join(root, file), os.path.relpath(os.path.join(root, file), "temp")) | |
# Fornisci il file ZIP per il download | |
with open('processed.zip', 'rb') as f: | |
st.download_button('Scarica File Processati', f, file_name='processed.zip') | |
# Pulisci i file temporanei | |
if st.button('Pulisci'): | |
os.remove("temp.zip") | |
os.remove("processed.zip") | |
shutil.rmtree("temp") | |