from documento.models import * from azienda.models import * from config.models import * from config.views import getConfig import os base_dir = getConfig('DocPath') print('base_dir',base_dir) #ottengo la ista dei documenti in archivio documento = Documento.objects.all() print('numero di documenti',len(documento)) azienda = Azienda.objects.all() print('numero di aziende',len(azienda)) utente = Utente.objects.all() listafileinmemoria = [] for d in documento: listafileinmemoria.append(d.storage) listafileinarchivio = dict() for u in utente: posizione = os.path.join(base_dir,u.azienda.partitaiva,u.codicefiscale) print('posizione',posizione) try: ld = os.listdir(posizione) for l in ld: listafileinarchivio[l] = {'ll':l,'posizione':"".join((posizione,"/",l))} print(listafileinarchivio[l]) except FileNotFoundError as fnfe: print(fnfe) listafilemancanti = dict() for x in listafileinarchivio: print(listafileinarchivio[x]['ll']) if listafileinarchivio[x]['ll'] not in listafileinmemoria: listafilemancanti[x] = listafileinarchivio[x]['posizione'] print('da rimuovere',listafilemancanti[x]) print('situazione') print('elementi nel db ',len(listafileinmemoria)) print('elementi su disco',len(listafileinarchivio)) print('elementi mancanti',len(listafilemancanti)) for xx in listafilemancanti: print(listafilemancanti[xx]) try: os.unlink(listafilemancanti[xx]) except IsADirectoryError as isae: print(isae) print(listafilemancanti[xx])