From 0d6f2b7ed5ceaf6e1989763b8cf39497251e32fc Mon Sep 17 00:00:00 2001 From: Minki Kim <68267535+mingi3314@users.noreply.github.com> Date: Wed, 10 Jul 2024 17:31:59 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20validator=20Error=20(#15)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sitemapr/models.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sitemapr/models.py b/sitemapr/models.py index 36af850..569fd6d 100644 --- a/sitemapr/models.py +++ b/sitemapr/models.py @@ -2,7 +2,7 @@ from decimal import Decimal from typing import Literal, TypeVar -from pydantic import BaseModel, ValidationError, validator +from pydantic import BaseModel, field_validator T = TypeVar("T") @@ -32,18 +32,17 @@ class SiteMapUrl(BaseModel): changefreq: ChangeFreq | None = None # Google ignores this priority: str | None = None # Google ignores this - @validator("priority") + @field_validator("priority") + @classmethod def validate_priority(cls, v: str | None) -> str | None: if v is None: return v try: priority = Decimal(v) except Exception as e: - raise ValidationError( - "Priority must be a valid decimal string between 0.0 and 1.0" - ) from e + raise ValueError("Priority must be a valid decimal string between 0.0 and 1.0") from e if 0 <= priority <= 1: return f"{priority:.1f}" - raise ValidationError("Priority must be between 0.0 and 1.0") + raise ValueError("Priority must be between 0.0 and 1.0")