Commit a5928594 authored by Antoine Bernard's avatar Antoine Bernard

Changement de méthode pour la génération du .csv

On ne génère plus côté serveur puis on le lit côté Django,
on récupère la requête SQL via json, puis on formate à la main pour en
faire un csv.
parent ba9acfe2
......@@ -2025,27 +2025,24 @@ def historique_csv(request,sock,kwargs):
return HttpResponseRedirect('%scomptes/' % (settings.NOTE_ROOT_URL,))
# Création du nom de fichier .csv de l'historique
filename = ["CONSO_KFET", str(idbde), datetime.today().date(),]
filename = "_".join([unicode(x).upper() for x in filename]) + ".csv"
filename = ["conso_kfet", str(idbde), datetime.today().date(),]
filename = "_".join([unicode(x) for x in filename]) + ".csv"
# Création d'un répertoire temporaire
TMP_PREFIX= os.path.join(settings.ROOT_PATH, "templates", '')
tmp = mkdtemp(prefix=TMP_PREFIX)
data = [os.path.join(tmp, filename), idbde]
sock.write(json.dumps(["historique2csv", data]))
sock.write(json.dumps(["historique2csv", idbde]))
out = nk.full_read(sock)
# On regarde la réponse
# On regarde si ça a marché correctement
if not nk._is_success_code(out["retcode"]):
messages.add_error(request, out["errmsg"])
return HttpResponseRedirect("%sindex/" % settings.NOTE_ROOT_URL)
try:
csv = open("%s/%s" % (tmp, filename)).read()
finally:
shutil.rmtree(tmp)
pass
# puis on met au format csv
HEADERS_CSV = (u"Date", u"Émetteur", u"Destinaire", u"Type",
u"Quantité", u"Montant", u"Description", u"Valide")
tpl = u"""%(date)s,%(emetteurpseudo)s,%(destinatairepseudo)s,%(type)s,%(quantite)s,%(montant)s,%(description)s,%(valide)s\n"""
csv = ",".join(HEADERS_CSV) + "\n"
for d in out["msg"]["h"]:
csv += tpl % d
response = HttpResponse(csv, content_type="text/csv")
response['Content-Disposition'] = "attachement; filename=%s" %filename
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment