File size: 1,306 Bytes
38f8736
 
 
6c05acd
 
 
38f8736
351552e
38f8736
3818f5a
1833979
1ab68b7
 
 
3818f5a
1833979
1ab68b7
 
3818f5a
1833979
1ab68b7
 
3818f5a
f683592
1833979
 
 
 
 
 
 
3818f5a
 
1ab68b7
 
 
 
f683592
1833979
3818f5a
 
f683592
1ab68b7
 
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

import os
import spacy
import gradio as gr
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
import zipfile


# Funzione per estrarre ed elencare i file
def extract_zip(file):
    if not zipfile.is_zipfile(file.name):
        return "Errore: Il file caricato non è uno ZIP valido."

    # Percorso per salvare i file estratti
    extraction_dir = "./extracted_files"
    os.makedirs(extraction_dir, exist_ok=True)

    # Estrazione del contenuto dello ZIP
    with zipfile.ZipFile(file.name, 'r') as zip_ref:
        zip_ref.extractall(extraction_dir)

    # Elenco dei file estratti
    extracted_files = []
    for root, dirs, files in os.walk(extraction_dir):
        for f in files:
            extracted_files.append(os.path.join(root, f))

    # Ritorna la lista dei file con i relativi percorsi
    return f"File estratti nella directory '{extraction_dir}':\n" + "\n".join(extracted_files)

# Interfaccia Gradio
interface = gr.Interface(
    fn=extract_zip,
    inputs=gr.File(label="Carica il file ZIP"),
    outputs="text",
    title="Estrattore ZIP",
    description="Carica un file ZIP. I file verranno estratti e mostrati nel risultato."
)

# Avvia l'applicazione
if __name__ == "__main__":
    interface.launch()