mirror of
https://github.com/lucaspalomodevelop/indico-plugins.git
synced 2026-03-12 23:27:22 +00:00
Storage/S3: Move content disposition util to plugin
It was in the indico core because flask did not expose it and we needed it there, but that's no longer the case (still not exposed though) so we include it here now.
This commit is contained in:
parent
4afb7bbac3
commit
8d655a8dce
@ -26,7 +26,9 @@ from indico.core.config import config
|
||||
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.web.flask.util import make_content_disposition_args, send_file
|
||||
from indico.web.flask.util import send_file
|
||||
|
||||
from indico_storage_s3.util import make_content_disposition_args
|
||||
|
||||
|
||||
s3_session_cache = threading.local()
|
||||
|
||||
22
storage_s3/indico_storage_s3/util.py
Normal file
22
storage_s3/indico_storage_s3/util.py
Normal file
@ -0,0 +1,22 @@
|
||||
# This file is part of the Indico plugins.
|
||||
# Copyright (C) 2002 - 2021 CERN
|
||||
#
|
||||
# The Indico plugins are free software; you can redistribute
|
||||
# them and/or modify them under the terms of the MIT License;
|
||||
# see the LICENSE file for more details.
|
||||
|
||||
import unicodedata
|
||||
|
||||
from werkzeug.urls import url_quote
|
||||
|
||||
|
||||
def make_content_disposition_args(attachment_filename):
|
||||
try:
|
||||
attachment_filename = attachment_filename.encode('ascii')
|
||||
except UnicodeEncodeError:
|
||||
return {
|
||||
'filename': unicodedata.normalize('NFKD', attachment_filename).encode('ascii', 'ignore'),
|
||||
'filename*': "UTF-8''%s" % url_quote(attachment_filename, safe=b''),
|
||||
}
|
||||
else:
|
||||
return {'filename': attachment_filename}
|
||||
Loading…
x
Reference in New Issue
Block a user