eggacheb's picture
Upload 97 files
21db53c verified
from typing import Optional, Annotated
from pydantic import BaseModel, Field, StringConstraints
class ImageOptUpdateModel(BaseModel):
starred: Optional[bool] = Field(None,
description="Whether the image is starred or not. Leave empty to keep the value "
"unchanged.")
categories: Optional[list[str]] = Field(None,
description="The categories of the image. Leave empty to keep the value "
"unchanged.")
url: Optional[str] = Field(None,
description="The url of the image. Leave empty to keep the value unchanged. Changing "
"the url of a local image is not allowed.")
thumbnail_url: Optional[str] = Field(None,
description="The url of the thumbnail. Leave empty to keep the value "
"unchanged. Changing the thumbnail_url of an image with a local "
"thumbnail is not allowed.")
def empty(self) -> bool:
return all([item is None for item in self.model_dump().values()])
Sha1HashString = Annotated[
str, StringConstraints(min_length=40, max_length=40, pattern=r"[0-9a-f]+", to_lower=True, strip_whitespace=True)]
class DuplicateValidationModel(BaseModel):
hashes: list[Sha1HashString] = Field(description="The SHA1 hash of the image.", min_length=1)