|
|
@@ -22,12 +22,12 @@ from codicefiscale import codicefiscale
|
|
|
import os
|
|
|
|
|
|
# come sono gestiti i file nella configurazione:
|
|
|
-# MEDIA_ROOT=os.path.join(BASE_DIR,'static/upload')
|
|
|
-# che diventa = os.path.join(BASE_DIR,getConfig('DocPath'))
|
|
|
+# MEDIA_ROOT=os.path.join(settings.BASE_DIR,'static/upload')
|
|
|
+# che diventa = os.path.join(settings.BASE_DIR,getConfig('DocPath'))
|
|
|
|
|
|
def delete_file(documento):
|
|
|
# questo blocco rimuove fisicamente il file prima della sua rimozione logica nel db
|
|
|
- file_path = os.path.join(BASE_DIR,getConfig('DocPath'),documento.utente.azienda.partitaiva,documento.utente.codicefiscale,documento.storage)
|
|
|
+ file_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'),documento.utente.azienda.partitaiva,documento.utente.codicefiscale,documento.storage)
|
|
|
print('Path completa:',file_path)
|
|
|
if os.path.isfile(file_path):
|
|
|
print('rimozione fisica file:',posizione)
|
|
|
@@ -38,7 +38,7 @@ def delete_file(documento):
|
|
|
|
|
|
def download_file(request,uid):
|
|
|
utente = Utenti.objects.get(pk=uid)
|
|
|
- file_path = os.path.join(BASE_DIR,getConfig('DocPath'),documento.utente.azienda.partitaiva,documento.utente.codicefiscale,utente.storage)
|
|
|
+ file_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'),documento.utente.azienda.partitaiva,documento.utente.codicefiscale,utente.storage)
|
|
|
print('Path completa da Basedir:',file_path)
|
|
|
if utente.storage and os.path.isfile(file_path):
|
|
|
try:
|
|
|
@@ -67,8 +67,9 @@ def upload_file(uploaded_file,utente,originale=False):
|
|
|
caricamento files
|
|
|
'''
|
|
|
stored_file = ''.join((str(time.time()),'.saved'))
|
|
|
- fl_path = os.path.join(BASE_DIR,getConfig('DocPath'))
|
|
|
+ fl_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'))
|
|
|
print('nome file',uploaded_file.name,stored_file)
|
|
|
+
|
|
|
nomefile=None
|
|
|
if originale:
|
|
|
nomefile = uploaded_file.name
|
|
|
@@ -83,6 +84,7 @@ def upload_file(uploaded_file,utente,originale=False):
|
|
|
# utente.codicefiscale (prima era "record" e mi sono deciso a cambiarlo)
|
|
|
|
|
|
try:
|
|
|
+ print(os.path.join(fl_path,utente.azienda.partitaiva))
|
|
|
os.mkdir(os.path.join(fl_path,utente.azienda.partitaiva))
|
|
|
except FileExistsError as fee:
|
|
|
print(os.path.join(fl_path,utente.azienda.partitaiva),"esistente")
|
|
|
@@ -99,6 +101,28 @@ def upload_file(uploaded_file,utente,originale=False):
|
|
|
return os.path.join(fl_path,utente.azienda.partitaiva,utente.codicefiscale,nomefile)
|
|
|
return stored_file
|
|
|
|
|
|
+def upload_file_indice(uploaded_file):
|
|
|
+ # caricamento file indice (gestito in modo diverso)
|
|
|
+
|
|
|
+ stored_file = ''.join((str(time.time()),'.saved'))
|
|
|
+ fl_path = os.path.join(settings.BASE_DIR,getConfig('DocPath'),getConfig('DocPathIndex'))
|
|
|
+ print('nome file',uploaded_file.name,stored_file)
|
|
|
+
|
|
|
+ # verifica l'esistenza della directory
|
|
|
+ try:
|
|
|
+ os.mkdir(fl_path)
|
|
|
+ except FileExistsError as fee:
|
|
|
+ print(fl_path,"esistente")
|
|
|
+
|
|
|
+ print('file_memorizzato',os.path.join(fl_path,stored_file))
|
|
|
+
|
|
|
+ with open(os.path.join(fl_path,stored_file),'wb+') as d:
|
|
|
+ for chunk in uploaded_file.chunks():
|
|
|
+ d.write(chunk)
|
|
|
+
|
|
|
+ return stored_file
|
|
|
+
|
|
|
+##################################################################################
|
|
|
def save_and_load_file_multiple(listadocumenti,request,utente,azienda,descrizione):
|
|
|
listaok = list()
|
|
|
listanotok = list()
|
|
|
@@ -145,23 +169,25 @@ def save_and_load_file_single(listadocumenti,request,utente,azienda,descrizione)
|
|
|
listanotok.append(documento.documento)
|
|
|
return (listaok,listanotok)
|
|
|
|
|
|
-def save_and_load_file_indice(fileindice,request,documento):
|
|
|
+def save_and_load_file_indice(request,fileindice,documento):
|
|
|
print('nome indice caricato',fileindice.name)
|
|
|
- upload_file(fileindice,request.FILES['indice'],True)
|
|
|
- fl_path = getConfig('DocPath')
|
|
|
|
|
|
+ file_memorizzato = upload_file_indice(request.FILES['indice'])
|
|
|
+
|
|
|
+ fl_path = os.path.join(getConfig('DocPath'),getConfig('DocPathIndex'))
|
|
|
+
|
|
|
risultato = None
|
|
|
- with open(os.path.join(fl_path,fileindice.name),'rb') as ind:
|
|
|
+ with open(os.path.join(fl_path,file_memorizzato),'rb') as ind:
|
|
|
risultato = ind.read()
|
|
|
risultato = risultato.decode('utf-8',errors='replace')
|
|
|
if isinstance(risultato,str):
|
|
|
risultato = risultato.encode('utf8')
|
|
|
|
|
|
- with open(os.path.join(fl_path,fileindice.name,'.cvtd'),'wb') as ind:
|
|
|
+ with open(os.path.join(fl_path,''.join((file_memorizzato,'.cvtd'))),'wb') as ind:
|
|
|
ind.write(risultato)
|
|
|
print('una volta convertito, passiamo oltre')
|
|
|
|
|
|
- with open(os.path.join(fl_path,'/',fileindice.name,'.cvtd'),'rt') as ind:
|
|
|
+ with open(os.path.join(fl_path,''.join((file_memorizzato,'.cvtd'))),'rt') as ind:
|
|
|
spamreader = csv.reader(ind,delimiter=';')
|
|
|
errori = list()
|
|
|
count = 0
|
|
|
@@ -204,6 +230,7 @@ def save_and_load_file_indice(fileindice,request,documento):
|
|
|
utente.password = str(randint(100000,999999))
|
|
|
utente.save()
|
|
|
|
|
|
+'''
|
|
|
# caricamento documenti
|
|
|
if filecaricati.cleaned_data.get('allegati'):
|
|
|
print('presenti documenti da allegare')
|
|
|
@@ -220,4 +247,4 @@ def save_and_load_file_indice(fileindice,request,documento):
|
|
|
# risultato: nome del file memorizzato (nome interno)
|
|
|
# singolodocumento.name = nome del file originale
|
|
|
|
|
|
-
|
|
|
+'''
|