|
19 | 19 | from __future__ import annotations |
20 | 20 |
|
21 | 21 | from enum import Enum |
22 | | -from typing import Any, Annotated, Iterator, Literal, TYPE_CHECKING, Union |
| 22 | +from typing import TYPE_CHECKING, Annotated, Any, Iterator, Literal, Union |
23 | 23 |
|
24 | 24 | # Third-Party |
25 | 25 | from pydantic import BaseModel, ConfigDict, Discriminator, Field, Tag, model_validator |
@@ -263,6 +263,14 @@ class Resource(BaseModel): |
263 | 263 |
|
264 | 264 | @model_validator(mode="after") |
265 | 265 | def _check_content_blob_exclusion(self) -> Resource: |
| 266 | + """Ensure content and blob are mutually exclusive. |
| 267 | +
|
| 268 | + Returns: |
| 269 | + The validated Resource instance. |
| 270 | +
|
| 271 | + Raises: |
| 272 | + ValueError: If both content and blob are set. |
| 273 | + """ |
266 | 274 | if self.content is not None and self.blob is not None: |
267 | 275 | raise ValueError("Resource cannot have both 'content' and 'blob' set") |
268 | 276 | return self |
@@ -309,6 +317,14 @@ class ResourceReference(BaseModel): |
309 | 317 |
|
310 | 318 | @model_validator(mode="after") |
311 | 319 | def _check_range_consistency(self) -> ResourceReference: |
| 320 | + """Ensure range_end is not less than range_start. |
| 321 | +
|
| 322 | + Returns: |
| 323 | + The validated ResourceReference instance. |
| 324 | +
|
| 325 | + Raises: |
| 326 | + ValueError: If range_end < range_start. |
| 327 | + """ |
312 | 328 | if self.range_start is not None and self.range_end is not None: |
313 | 329 | if self.range_end < self.range_start: |
314 | 330 | raise ValueError(f"range_end ({self.range_end}) must be >= range_start ({self.range_start})") |
|
0 commit comments