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")