( disk_config: DiskLayoutConfiguration, preset: LvmConfiguration | None = None, )
| 470 | |
| 471 | |
| 472 | async def select_lvm_config( |
| 473 | disk_config: DiskLayoutConfiguration, |
| 474 | preset: LvmConfiguration | None = None, |
| 475 | ) -> LvmConfiguration | None: |
| 476 | preset_value = preset.config_type.display_msg() if preset else None |
| 477 | default_mode = LvmLayoutType.Default.display_msg() |
| 478 | |
| 479 | items = [MenuItem(default_mode, value=default_mode)] |
| 480 | group = MenuItemGroup(items) |
| 481 | group.set_focus_by_value(preset_value) |
| 482 | |
| 483 | result = await Selection[str]( |
| 484 | group, |
| 485 | allow_reset=True, |
| 486 | allow_skip=True, |
| 487 | ).show() |
| 488 | |
| 489 | match result.type_: |
| 490 | case ResultType.Skip: |
| 491 | return preset |
| 492 | case ResultType.Reset: |
| 493 | return None |
| 494 | case ResultType.Selection: |
| 495 | if result.get_value() == default_mode: |
| 496 | return await suggest_lvm_layout(disk_config) |
| 497 | |
| 498 | return None |
| 499 | |
| 500 | |
| 501 | def _boot_partition(sector_size: SectorSize, using_gpt: bool) -> PartitionModification: |
no test coverage detected