From c32fb2a0773c1f27c1e2626b43af2ce42f537415 Mon Sep 17 00:00:00 2001 From: Talmaj Marinc Date: Thu, 2 Jul 2026 12:48:59 +0200 Subject: [PATCH] Allow whitespaces around download urls, strip them in the backend. --- app/model_downloader/api/schemas_in.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/model_downloader/api/schemas_in.py b/app/model_downloader/api/schemas_in.py index c2db2feb4..daccebb0e 100644 --- a/app/model_downloader/api/schemas_in.py +++ b/app/model_downloader/api/schemas_in.py @@ -8,7 +8,7 @@ from __future__ import annotations from typing import Optional -from pydantic import BaseModel, Field +from pydantic import BaseModel, Field, field_validator from app.model_downloader.constants import AUTH_SCHEME_BEARER @@ -21,6 +21,11 @@ class EnqueueRequest(BaseModel): allow_any_extension: bool = False credential_id: Optional[str] = None + @field_validator("url") + @classmethod + def _strip_url(cls, v: str) -> str: + return v.strip() + class PriorityRequest(BaseModel): priority: int @@ -31,6 +36,11 @@ class AvailabilityRequest(BaseModel): models: dict[str, str] = Field(default_factory=dict) + @field_validator("models") + @classmethod + def _strip_urls(cls, v: dict[str, str]) -> dict[str, str]: + return {k: url.strip() for k, url in v.items()} + class CredentialUpsertRequest(BaseModel): host: str