Skip to content
Snippets Groups Projects

Use email.message.EmailMessage to parse Content-Disposition headers

Merged Erwan Rouchet requested to merge replace-content-disposition-parsing into master
1 file
+ 5
4
Compare changes
  • Side-by-side
  • Inline
# -*- coding: utf-8 -*-
import cgi
import json
import os
import posixpath
import shutil
import tempfile
from email.message import EmailMessage
from urllib.parse import urlparse
from arkindex.compat import DownloadedFile
@@ -213,10 +213,11 @@ def _get_filename_from_content_disposition(content_disposition):
"""
Determine an output filename based on the `Content-Disposition` header.
"""
params = value, params = cgi.parse_header(content_disposition)
message = EmailMessage()
message["content-disposition"] = content_disposition
filename = message["content-disposition"].params.get("filename")
if "filename" in params:
filename = params["filename"]
if filename:
return _safe_filename(filename)
return None
Loading