fix(worker): replace deprecated cgi.parse_header

This commit is contained in:
jo 2022-12-07 13:59:12 +01:00 committed by Jonas L
parent fa5bd5ed11
commit f56e7ea8fd
1 changed files with 8 additions and 5 deletions

View File

@ -1,5 +1,5 @@
import json import json
from cgi import parse_header from email.message import EmailMessage
from pathlib import Path from pathlib import Path
from tempfile import NamedTemporaryFile from tempfile import NamedTemporaryFile
from typing import Any, Dict, Optional from typing import Any, Dict, Optional
@ -121,9 +121,12 @@ def extract_filename(response: Response) -> str:
Returns: Returns:
Extracted filename. Extracted filename.
""" """
if "Content-Disposition" in response.headers: content_disposition = "Content-Disposition"
_, params = parse_header(response.headers["Content-Disposition"]) value = response.headers.get(content_disposition)
if "filename" in params: if value and "filename" in value:
return params["filename"] parser = EmailMessage()
parser[content_disposition] = value
params = parser[content_disposition].params
return params["filename"]
return Path(urlsplit(response.url).path).name return Path(urlsplit(response.url).path).name