fix(worker): replace deprecated cgi.parse_header

This commit is contained in:
jo 2022-12-07 13:59:12 +01:00 committed by Kyle Robbertze
parent 1f4d42fee5
commit dbf4667bd8
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