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")