Просмотр исходного кода

creato script per rimuovere i file mancanti

Mauro 11 месяцев назад
Родитель
Сommit
ecaee13afb
1 измененных файлов с 47 добавлено и 0 удалено
  1. 47 0
      snippets/clear_files.py

+ 47 - 0
snippets/clear_files.py

@@ -0,0 +1,47 @@
+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)
+  ld = os.listdir(posizione)
+  for l in ld:
+    listafileinarchivio[l] = {'ll':l,'posizione':"".join((posizione,"/",l))}
+    print(listafileinarchivio[l])
+
+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:
+  os.unlink(listafilemancanti[xx])