clear_files.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from documento.models import *
  2. from azienda.models import *
  3. from config.models import *
  4. from config.views import getConfig
  5. import os
  6. base_dir = getConfig('DocPath')
  7. print('base_dir',base_dir)
  8. #ottengo la ista dei documenti in archivio
  9. documento = Documento.objects.all()
  10. print('numero di documenti',len(documento))
  11. azienda = Azienda.objects.all()
  12. print('numero di aziende',len(azienda))
  13. utente = Utente.objects.all()
  14. listafileinmemoria = []
  15. for d in documento:
  16. listafileinmemoria.append(d.storage)
  17. listafileinarchivio = dict()
  18. for u in utente:
  19. posizione = os.path.join(base_dir,u.azienda.partitaiva,u.codicefiscale)
  20. print('posizione',posizione)
  21. try:
  22. ld = os.listdir(posizione)
  23. for l in ld:
  24. listafileinarchivio[l] = {'ll':l,'posizione':"".join((posizione,"/",l))}
  25. print(listafileinarchivio[l])
  26. except FileNotFoundError as fnfe:
  27. print(fnfe)
  28. listafilemancanti = dict()
  29. for x in listafileinarchivio:
  30. print(listafileinarchivio[x]['ll'])
  31. if listafileinarchivio[x]['ll'] not in listafileinmemoria:
  32. listafilemancanti[x] = listafileinarchivio[x]['posizione']
  33. print('da rimuovere',listafilemancanti[x])
  34. print('situazione')
  35. print('elementi nel db ',len(listafileinmemoria))
  36. print('elementi su disco',len(listafileinarchivio))
  37. print('elementi mancanti',len(listafilemancanti))
  38. for xx in listafilemancanti:
  39. os.unlink(listafilemancanti[xx])