|
4 | 4 | from dataclasses import dataclass, field |
5 | 5 | from enum import Enum, StrEnum, auto |
6 | 6 | from pathlib import Path |
7 | | -from typing import NotRequired, Self, TypedDict, override |
| 7 | +from typing import Any, NotRequired, Self, TypedDict, override |
8 | 8 | from uuid import UUID |
9 | 9 |
|
10 | 10 | import parted |
@@ -1590,14 +1590,18 @@ class LsblkInfo(BaseModel): |
1590 | 1590 |
|
1591 | 1591 | @field_validator('size', mode='before') |
1592 | 1592 | @classmethod |
1593 | | - def convert_size(cls, v: int, info: ValidationInfo) -> Size: |
1594 | | - sector_size = SectorSize(info.data['log_sec'], Unit.B) |
1595 | | - return Size(v, Unit.B, sector_size) |
| 1593 | + def convert_size(cls, value: Any, info: ValidationInfo) -> Any: |
| 1594 | + if isinstance(value, int): |
| 1595 | + sector_size = SectorSize(info.data['log_sec'], Unit.B) |
| 1596 | + return Size(value, Unit.B, sector_size) |
| 1597 | + return value |
1596 | 1598 |
|
1597 | 1599 | @field_validator('mountpoints', 'fsroots', mode='before') |
1598 | 1600 | @classmethod |
1599 | | - def remove_none(cls, v: list[Path | None]) -> list[Path]: |
1600 | | - return [item for item in v if item is not None] |
| 1601 | + def remove_none(cls, value: Any) -> Any: |
| 1602 | + if isinstance(value, list): |
| 1603 | + return [item for item in value if item is not None] |
| 1604 | + return value |
1601 | 1605 |
|
1602 | 1606 | @field_serializer('size', when_used='json') |
1603 | 1607 | def serialize_size(self, size: Size) -> str: |
|
0 commit comments