Spaces:
Paused
Paused
| 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) | |