From edc2fa0fc517abfb8e936e6fb1cabd83d82893bc Mon Sep 17 00:00:00 2001 From: "michael.hudson@canonical.com" Date: Fri, 13 Feb 2026 06:56:08 +1300 Subject: [PATCH] Use match statement with local imports in boot configurator factory Co-Authored-By: Claude Opus 4.6 --- live-build/isobuilder/boot/__init__.py | 39 +++++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/live-build/isobuilder/boot/__init__.py b/live-build/isobuilder/boot/__init__.py index a43e5132..0fe105a2 100644 --- a/live-build/isobuilder/boot/__init__.py +++ b/live-build/isobuilder/boot/__init__.py @@ -20,24 +20,29 @@ def make_boot_configurator_for_arch( iso_root: pathlib.Path, ) -> "BaseBootConfigurator": """Factory function to create boot configurator for a specific architecture.""" - from .amd64 import AMD64BootConfigurator - from .arm64 import ARM64BootConfigurator - from .ppc64el import PPC64ELBootConfigurator - from .riscv64 import RISCV64BootConfigurator - from .s390x import S390XBootConfigurator + match arch: + case "amd64": + from .amd64 import AMD64BootConfigurator - if arch == "amd64": - return AMD64BootConfigurator(logger, apt_state, iso_root) - elif arch == "arm64": - return ARM64BootConfigurator(logger, apt_state, iso_root) - elif arch == "ppc64el": - return PPC64ELBootConfigurator(logger, apt_state, iso_root) - elif arch == "riscv64": - return RISCV64BootConfigurator(logger, apt_state, iso_root) - elif arch == "s390x": - return S390XBootConfigurator(logger, apt_state, iso_root) - else: - raise ValueError(f"Unsupported architecture: {arch}") + return AMD64BootConfigurator(logger, apt_state, iso_root) + case "arm64": + from .arm64 import ARM64BootConfigurator + + return ARM64BootConfigurator(logger, apt_state, iso_root) + case "ppc64el": + from .ppc64el import PPC64ELBootConfigurator + + return PPC64ELBootConfigurator(logger, apt_state, iso_root) + case "riscv64": + from .riscv64 import RISCV64BootConfigurator + + return RISCV64BootConfigurator(logger, apt_state, iso_root) + case "s390x": + from .s390x import S390XBootConfigurator + + return S390XBootConfigurator(logger, apt_state, iso_root) + case _: + raise ValueError(f"Unsupported architecture: {arch}") __all__ = ["make_boot_configurator_for_arch"]