Skip to content

Commit 3cabe86

Browse files
authored
Refactor LsblkInfo field validators (#4428)
1 parent 7ea1713 commit 3cabe86

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

archinstall/lib/models/device.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from dataclasses import dataclass, field
55
from enum import Enum, StrEnum, auto
66
from pathlib import Path
7-
from typing import NotRequired, Self, TypedDict, override
7+
from typing import Any, NotRequired, Self, TypedDict, override
88
from uuid import UUID
99

1010
import parted
@@ -1590,14 +1590,18 @@ class LsblkInfo(BaseModel):
15901590

15911591
@field_validator('size', mode='before')
15921592
@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
15961598

15971599
@field_validator('mountpoints', 'fsroots', mode='before')
15981600
@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
16011605

16021606
@field_serializer('size', when_used='json')
16031607
def serialize_size(self, size: Size) -> str:

0 commit comments

Comments
 (0)