From f56e7ea8fd29df66707bdaf3d9c2c299e684694b Mon Sep 17 00:00:00 2001
From: jo <ljonas@riseup.net>
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