refactor file response

prod
Dmitriy Shesterkin 8 years ago
parent 6bc17a9824
commit db04eb8bd2
  1. 1
      requirements/base.txt
  2. 10
      src/commons/pdf_tools.py
  3. 10
      src/commons/xls/xls_to_response.py

@ -69,7 +69,6 @@ envvars==0.3.0
psycopg2==2.6 psycopg2==2.6
django-redis==4.8.0 django-redis==4.8.0
redis==2.10.5 redis==2.10.5
trans==2.1.0
python-decouple==3.0 python-decouple==3.0
numpy==1.13.0 numpy==1.13.0
django-cleanup==1.0.0 django-cleanup==1.0.0

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import urllib
import urllib.parse
from io import BytesIO from io import BytesIO
from trans import trans
from xhtml2pdf import pisa from xhtml2pdf import pisa
from django.template.loader import get_template from django.template.loader import get_template
from django.template import Context from django.template import Context
@ -14,10 +15,9 @@ def pdf_to_response(content, filename=None):
""" """
response = HttpResponse(content, content_type='application/pdf') response = HttpResponse(content, content_type='application/pdf')
if filename: if filename:
filename = filename.replace('"', "''") filename = filename.encode('utf-8')
filename = filename.replace('', 'N') filename_part = "filename*=UTF-8''%s" % urllib.parse.quote(filename)
filename = trans(filename) response['Content-Disposition'] = 'attachment; ' + filename_part
response['Content-Disposition'] = ('attachment; filename="{}"'.format(filename))
return response return response

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from trans import trans import urllib
import urllib.parse
from django.http import HttpResponse from django.http import HttpResponse
@ -9,8 +10,7 @@ def xls_to_response(content, filename=None):
""" """
response = HttpResponse(content, content_type='application/ms-excel') response = HttpResponse(content, content_type='application/ms-excel')
if filename: if filename:
filename = filename.replace('"', "''") filename = filename.encode('utf-8')
filename = filename.replace('', 'N') filename_part = "filename*=UTF-8''%s" % urllib.parse.quote(filename)
filename = trans(filename) response['Content-Disposition'] = 'attachment; ' + filename_part
response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename)
return response return response

Loading…
Cancel
Save