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])
