From 8d641946195b050685dbb4c3c7490177c915d9d6 Mon Sep 17 00:00:00 2001 From: Adrian Moennich Date: Wed, 29 Jul 2020 12:42:04 +0200 Subject: [PATCH] Storage/S3: Fix handling non-ascii file names --- storage_s3/indico_storage_s3/storage.py | 4 ++-- storage_s3/setup.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/storage_s3/indico_storage_s3/storage.py b/storage_s3/indico_storage_s3/storage.py index 1f9a121..bb8f26b 100644 --- a/storage_s3/indico_storage_s3/storage.py +++ b/storage_s3/indico_storage_s3/storage.py @@ -28,7 +28,7 @@ from indico.core.storage import Storage, StorageError from indico.core.storage.backend import ReadOnlyStorageMixin, StorageReadOnlyError from indico.util.fs import get_file_checksum from indico.util.string import return_ascii -from indico.web.flask.util import send_file +from indico.web.flask.util import make_content_disposition_args, send_file s3_session_cache = threading.local() @@ -134,7 +134,7 @@ class S3StorageBase(Storage): bucket, id_ = self._parse_file_id(file_id) content_disp = 'inline' if inline else 'attachment' h = Headers() - h.add('Content-Disposition', content_disp, filename=filename) + h.add('Content-Disposition', content_disp, **make_content_disposition_args(filename)) url = self.client.generate_presigned_url('get_object', Params={'Bucket': bucket, 'Key': id_, diff --git a/storage_s3/setup.py b/storage_s3/setup.py index 385c278..ee0bc89 100644 --- a/storage_s3/setup.py +++ b/storage_s3/setup.py @@ -12,7 +12,7 @@ from setuptools import find_packages, setup setup( name='indico-plugin-storage-s3', - version='2.0.5', + version='2.3-dev', description='S3 storage backend for Indico', url='https://github.com/indico/indico-plugins', license='MIT', @@ -22,8 +22,8 @@ setup( zip_safe=False, platforms='any', install_requires=[ - 'indico>=2.1', - 'boto3>=1.9.35,<2.0', + 'indico>=2.3.dev0', + 'boto3>=1.14.30,<2.0', ], classifiers=[ 'Environment :: Plugins',