asciifying http header for csv download; fixes #3952 (#3975)

* asciifying http header for csv download; fixes #3952

* fixed order of imports and added unidecode to requirements in setup.py
This commit is contained in:
rumbin 2017-12-05 21:04:58 +01:00 committed by Maxime Beauchemin
parent 4404751a1d
commit e98a1c3537
2 changed files with 3 additions and 1 deletions

View File

@ -77,6 +77,7 @@ setup(
'sqlparse==0.2.3',
'thrift>=0.9.3',
'thrift-sasl>=0.2.1',
'unidecode>=0.04.21',
],
extras_require={
'cors': ['Flask-Cors>=2.0.0'],

View File

@ -28,6 +28,7 @@ import pandas as pd
import sqlalchemy as sqla
from sqlalchemy import create_engine
from sqlalchemy.engine.url import make_url
from unidecode import unidecode
from werkzeug.routing import BaseConverter
from werkzeug.utils import secure_filename
@ -2283,7 +2284,7 @@ class Superset(BaseSupersetView):
csv = df.to_csv(index=False, **config.get('CSV_EXPORT'))
response = Response(csv, mimetype='text/csv')
response.headers['Content-Disposition'] = (
'attachment; filename={}.csv'.format(query.name))
'attachment; filename={}.csv'.format(unidecode(query.name)))
logging.info('Ready to return response')
return response