@@ -164,15 +164,15 @@ def parse_arg(
164164 continue
165165
166166 first = non_delete_partitions [0 ]
167- if first .status == ModificationStatus .Create and not first .start .is_valid_start ():
167+ if first .status == ModificationStatus .CREATE and not first .start .is_valid_start ():
168168 raise ValueError ('First partition must start at no less than 1 MiB' )
169169
170170 for i , current_partition in enumerate (non_delete_partitions [1 :], start = 1 ):
171171 previous_partition = non_delete_partitions [i - 1 ]
172- if current_partition .status == ModificationStatus .Create and current_partition .start < previous_partition .end :
172+ if current_partition .status == ModificationStatus .CREATE and current_partition .start < previous_partition .end :
173173 raise ValueError ('Partitions overlap' )
174174
175- create_partitions = [part_mod for part_mod in non_delete_partitions if part_mod .status == ModificationStatus .Create ]
175+ create_partitions = [part_mod for part_mod in non_delete_partitions if part_mod .status == ModificationStatus .CREATE ]
176176
177177 if not create_partitions :
178178 continue
@@ -819,11 +819,11 @@ def installation_pkg(self) -> str | None:
819819 return None
820820
821821
822- class ModificationStatus (Enum ):
823- Exist = 'existing'
824- Modify = 'modify'
825- Delete = 'delete'
826- Create = 'create'
822+ class ModificationStatus (StrEnum ):
823+ EXIST = 'existing'
824+ MODIFY = auto ()
825+ DELETE = auto ()
826+ CREATE = auto ()
827827
828828
829829class _PartitionModificationSerialization (TypedDict ):
@@ -868,7 +868,7 @@ def __post_init__(self) -> None:
868868 if self .is_exists_or_modify () and not self .dev_path :
869869 raise ValueError ('If partition marked as existing a path must be set' )
870870
871- if self .fs_type is None and self .status == ModificationStatus .Modify :
871+ if self .fs_type is None and self .status == ModificationStatus .MODIFY :
872872 raise ValueError ('FS type must not be empty on modifications with status type modify' )
873873
874874 @override
@@ -911,7 +911,7 @@ def from_existing_partition(cls, partition_info: _PartitionInfo) -> Self:
911911 subvol_mods = []
912912
913913 return cls (
914- status = ModificationStatus .Exist ,
914+ status = ModificationStatus .EXIST ,
915915 type = partition_info .type ,
916916 start = partition_info .start ,
917917 length = partition_info .length ,
@@ -961,23 +961,23 @@ def is_swap(self) -> bool:
961961 return self .fs_type == FilesystemType .LINUX_SWAP
962962
963963 def is_modify (self ) -> bool :
964- return self .status == ModificationStatus .Modify
964+ return self .status == ModificationStatus .MODIFY
965965
966966 def is_delete (self ) -> bool :
967- return self .status == ModificationStatus .Delete
967+ return self .status == ModificationStatus .DELETE
968968
969969 def exists (self ) -> bool :
970- return self .status == ModificationStatus .Exist
970+ return self .status == ModificationStatus .EXIST
971971
972972 def is_exists_or_modify (self ) -> bool :
973973 return self .status in [
974- ModificationStatus .Exist ,
975- ModificationStatus .Delete ,
976- ModificationStatus .Modify ,
974+ ModificationStatus .EXIST ,
975+ ModificationStatus .DELETE ,
976+ ModificationStatus .MODIFY ,
977977 ]
978978
979979 def is_create_or_modify (self ) -> bool :
980- return self .status in [ModificationStatus .Create , ModificationStatus .Modify ]
980+ return self .status in [ModificationStatus .CREATE , ModificationStatus .MODIFY ]
981981
982982 @property
983983 def mapper_name (self ) -> str | None :
@@ -1088,13 +1088,6 @@ def contains_lv(self, lv: LvmVolume) -> bool:
10881088 return lv in self .volumes
10891089
10901090
1091- class LvmVolumeStatus (Enum ):
1092- Exist = 'existing'
1093- Modify = 'modify'
1094- Delete = 'delete'
1095- Create = 'create'
1096-
1097-
10981091class _LvmVolumeSerialization (TypedDict ):
10991092 obj_id : str
11001093 status : str
@@ -1108,7 +1101,7 @@ class _LvmVolumeSerialization(TypedDict):
11081101
11091102@dataclass
11101103class LvmVolume :
1111- status : LvmVolumeStatus
1104+ status : ModificationStatus
11121105 name : str
11131106 fs_type : FilesystemType
11141107 length : Size
@@ -1177,7 +1170,7 @@ def relative_mountpoint(self) -> Path:
11771170 @classmethod
11781171 def parse_arg (cls , arg : _LvmVolumeSerialization ) -> Self :
11791172 volume = cls (
1180- status = LvmVolumeStatus (arg ['status' ]),
1173+ status = ModificationStatus (arg ['status' ]),
11811174 name = arg ['name' ],
11821175 fs_type = FilesystemType (arg ['fs_type' ]),
11831176 length = Size .parse_args (arg ['length' ]),
@@ -1215,13 +1208,13 @@ def table_data(self) -> dict[str, str]:
12151208 return part_mod
12161209
12171210 def is_modify (self ) -> bool :
1218- return self .status == LvmVolumeStatus . Modify
1211+ return self .status == ModificationStatus . MODIFY
12191212
12201213 def exists (self ) -> bool :
1221- return self .status == LvmVolumeStatus . Exist
1214+ return self .status == ModificationStatus . EXIST
12221215
12231216 def is_exists_or_modify (self ) -> bool :
1224- return self .status in [LvmVolumeStatus . Exist , LvmVolumeStatus . Modify ]
1217+ return self .status in [ModificationStatus . EXIST , ModificationStatus . MODIFY ]
12251218
12261219 def is_root (self ) -> bool :
12271220 if self .mountpoint is not None :
0 commit comments