28/08/2023 - Alka ha scritto:
28/08/2023 - Domeniks88 ha scritto:
Nel senso che non viene eseguito, va in errore, forse mi sono espresso male scusatemi
Ok, quindi lo chiedo in modo diverso: qual è l'errore?
Scusa ma senza dettagli l'unica cosa che si può fare è imbastire un sistema come il tuo, copiare il codice, replicare l'intero scenario e testarlo: non mi pare né comodo né opportuno.
Fornisci quante più informazioni possibili sul problema che ottieni: dire “va in errore” o “si pianta” è come andare dal dottore e dire “sto male”, o dal meccanico e dire che la propria auto “non va”.
Eh lo so ma non da un errore specifico, gli ho messo i log di debug proprio per capire dove andava in crash l'esecuzione, infatti il recupero degli oggetti dalla cartella vengono effettuati correttamente, ma proprio nella funzione per creare il file zip, nell'apertura del file in modalità scrittura la linea non viene eseguita, il problema è che non mi da un errore specifico, non è che c'è qualche modo per vedere l'errore ? Purtroppo più di queste informazioni non riesco a fornire
questo è il log dell'applicazione, viene eseguita fino alla creazione della directory temporanea con il nome archivio.zip, quindi i log funzionano fino a logging.debug(zip_file_path), il log dentro la with ZipFile(zip_file_path,"w") non funziona, quindi presumo ci sia qualche errore nella creazione del file zip in scrittura, ho provato qualche soluzione alternativa con chatgbp, gli ho incollato tutto il codice, e mi dava qualche suggerimento ad esempio per scrivere il file zip in memoria RAM e poi inviarlo in response come stream, ma sinceramente non mi faceva nemmeno configurare lo script in questo modo
def create_zip_file(self, objects, auth_token, storage_url, container_name):
with tempfile.TemporaryDirectory() as temp_dir:
zip_file_path = os.path.join(temp_dir, 'archivio.zip')
logging.debug(zip_file_path)
# Create the zip file in the temporary directory
with ZipFile(zip_file_path, 'w') as zip_object:
for obj in objects:
object_name = obj["name"]
logging.debug(object_name)
# Retrieve object data
object_data = self.retrieve_object(auth_token, storage_url, container_name, object_name)
logging.debug(object_data)
zip_object.write(object_data)
return zip_file_path