clear_files.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. ld = os.listdir(posizione)
  22. for l in ld:
  23. listafileinarchivio[l] = {'ll':l,'posizione':"".join((posizione,"/",l))}
  24. print(listafileinarchivio[l])
  25. listafilemancanti = dict()
  26. for x in listafileinarchivio:
  27. print(listafileinarchivio[x]['ll'])
  28. if listafileinarchivio[x]['ll'] not in listafileinmemoria:
  29. listafilemancanti[x] = listafileinarchivio[x]['posizione']
  30. print('da rimuovere',listafilemancanti[x])
  31. print('situazione')
  32. print('elementi nel db ',len(listafileinmemoria))
  33. print('elementi su disco',len(listafileinarchivio))
  34. print('elementi mancanti',len(listafilemancanti))
  35. for xx in listafilemancanti:
  36. os.unlink(listafilemancanti[xx])