From 0d6ffc37951852e54d055d84c82e2dba529fd0aa Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Mon, 3 Aug 2026 07:38:20 -0400 Subject: [PATCH] Refactor default PartitionTable (#4689) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses the following: pyright ``` archinstall/lib/models/device.py:262:10 - error: Type "Literal[PartitionTable.GPT, PartitionTable.MBR]" is not assignable to return type "Self@PartitionTable"   Type "Literal[PartitionTable.GPT, PartitionTable.MBR]" is not assignable to type "Self@PartitionTable" (reportReturnType) ``` ty ``` error[invalid-return-type]: Return type does not match returned value --> archinstall/lib/models/device.py:261:22 | 261 | def default(cls) -> Self: | ---- Expected `Self@default` because of return type 262 | return cls.GPT if SysInfo.has_uefi() else cls.MBR | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Self@default`, found `PartitionTable` | ``` --- archinstall/lib/disk/device_handler.py | 3 ++- archinstall/lib/models/device.py | 5 ----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/archinstall/lib/disk/device_handler.py b/archinstall/lib/disk/device_handler.py index bb8636e4..4a1b2b2a 100644 --- a/archinstall/lib/disk/device_handler.py +++ b/archinstall/lib/disk/device_handler.py @@ -17,6 +17,7 @@ from archinstall.lib.disk.utils import ( umount, ) from archinstall.lib.exceptions import DiskError, SysCallError, UnknownFilesystemFormat +from archinstall.lib.hardware import SysInfo from archinstall.lib.log import debug, error, info, log from archinstall.lib.models.device import ( DEFAULT_ITER_TIME, @@ -45,7 +46,7 @@ class DeviceHandler: def __init__(self) -> None: self._devices: dict[Path, BDevice] = {} - self._partition_table = PartitionTable.default() + self._partition_table = PartitionTable.GPT if SysInfo.has_uefi() else PartitionTable.MBR self.load_devices() @property diff --git a/archinstall/lib/models/device.py b/archinstall/lib/models/device.py index 20559d70..c9e1ae6a 100644 --- a/archinstall/lib/models/device.py +++ b/archinstall/lib/models/device.py @@ -11,7 +11,6 @@ import parted from parted import Disk, Geometry, Partition from pydantic import BaseModel, Field, ValidationInfo, field_serializer, field_validator -from archinstall.lib.hardware import SysInfo from archinstall.lib.log import debug from archinstall.lib.models.config import SubConfig from archinstall.lib.models.users import Password @@ -257,10 +256,6 @@ class PartitionTable(Enum): def is_mbr(self) -> bool: return self == PartitionTable.MBR - @classmethod - def default(cls) -> Self: - return cls.GPT if SysInfo.has_uefi() else cls.MBR - class Units(Enum): BINARY = 'binary'