parse file extension from url query (#4017)

This commit is contained in:
LawyZheng
2025-11-18 15:28:14 +08:00
committed by GitHub
parent 9b97061b6d
commit ce76b400a9

View File

@@ -14,7 +14,7 @@ import uuid
from datetime import datetime
from pathlib import Path
from typing import Any, Awaitable, Callable, Protocol
from urllib.parse import urlparse
from urllib.parse import parse_qsl, urlparse
import aiofiles
import psutil
@@ -100,10 +100,26 @@ def set_download_file_listener(
)
file_path.rename(str(file_path) + suffix)
return
suffix = Path(download.url).suffix
parsed_url = urlparse(download.url)
parsed_qs = parse_qsl(parsed_url.query)
for key, value in parsed_qs:
if key.lower() == "filename":
suffix = Path(value).suffix
if suffix:
LOG.info(
"Add extension according to the parsed query params of download url",
workflow_run_id=workflow_run_id,
task_id=task_id,
filename=value,
)
file_path.rename(str(file_path) + suffix)
return
suffix = Path(parsed_url.path).suffix
if suffix:
LOG.info(
"Add extension according to download url",
"Add extension according to download url path",
workflow_run_id=workflow_run_id,
task_id=task_id,
filepath=str(file_path) + suffix,