From f56e7ea8fd29df66707bdaf3d9c2c299e684694b Mon Sep 17 00:00:00 2001 From: jo Date: Wed, 7 Dec 2022 13:59:12 +0100 Subject: [PATCH] fix(worker): replace deprecated cgi.parse_header --- worker/libretime_worker/tasks.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/worker/libretime_worker/tasks.py b/worker/libretime_worker/tasks.py index 1a07ef1d0..2480365a0 100644 --- a/worker/libretime_worker/tasks.py +++ b/worker/libretime_worker/tasks.py @@ -1,5 +1,5 @@ import json -from cgi import parse_header +from email.message import EmailMessage from pathlib import Path from tempfile import NamedTemporaryFile from typing import Any, Dict, Optional @@ -121,9 +121,12 @@ def extract_filename(response: Response) -> str: Returns: Extracted filename. """ - if "Content-Disposition" in response.headers: - _, params = parse_header(response.headers["Content-Disposition"]) - if "filename" in params: - return params["filename"] + content_disposition = "Content-Disposition" + value = response.headers.get(content_disposition) + if value and "filename" in value: + parser = EmailMessage() + parser[content_disposition] = value + params = parser[content_disposition].params + return params["filename"] return Path(urlsplit(response.url).path).name