forked from Mirror/pmbootstrap
Auto-format codebase with ruff (MR 2325)
See: https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2324 Closes: https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2278
This commit is contained in:
parent
5a8e2c6cad
commit
e421bb2d41
109 changed files with 4044 additions and 2984 deletions
|
@ -9,6 +9,7 @@ import pmb.config
|
|||
from pmb.core.arch import Arch
|
||||
from .context import get_context
|
||||
|
||||
|
||||
class ChrootType(enum.Enum):
|
||||
ROOTFS = "rootfs"
|
||||
BUILDROOT = "buildroot"
|
||||
|
@ -19,6 +20,7 @@ class ChrootType(enum.Enum):
|
|||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
||||
|
||||
class Chroot:
|
||||
__type: ChrootType
|
||||
__name: str
|
||||
|
@ -43,11 +45,11 @@ class Chroot:
|
|||
"x86",
|
||||
"x86_64",
|
||||
"aarch64",
|
||||
"armhf", # XXX: remove this?
|
||||
"armhf", # XXX: remove this?
|
||||
"armv7",
|
||||
"riscv64",
|
||||
]
|
||||
|
||||
|
||||
if self.__type not in ChrootType:
|
||||
raise ValueError(f"Invalid chroot type: '{self.__type}'")
|
||||
|
||||
|
@ -63,38 +65,31 @@ class Chroot:
|
|||
|
||||
# A native suffix must not have a name.
|
||||
if self.__type == ChrootType.NATIVE and self.__name != "":
|
||||
raise ValueError(f"The native suffix can't have a name but got: "
|
||||
f"'{self.__name}'")
|
||||
raise ValueError(f"The native suffix can't have a name but got: " f"'{self.__name}'")
|
||||
|
||||
if self.__type == ChrootType.IMAGE and not Path(self.__name).exists():
|
||||
raise ValueError(f"Image file '{self.__name}' does not exist")
|
||||
|
||||
|
||||
def __str__(self) -> str:
|
||||
if len(self.__name) > 0 and self.type != ChrootType.IMAGE:
|
||||
return f"{self.__type.value}_{self.__name}"
|
||||
else:
|
||||
return self.__type.value
|
||||
|
||||
|
||||
@property
|
||||
def dirname(self) -> str:
|
||||
return f"chroot_{self}"
|
||||
|
||||
|
||||
@property
|
||||
def path(self) -> Path:
|
||||
return Path(get_context().config.work, self.dirname)
|
||||
|
||||
|
||||
def exists(self) -> bool:
|
||||
return (self / "bin/sh").is_symlink()
|
||||
|
||||
|
||||
def is_mounted(self) -> bool:
|
||||
return self.exists() and pmb.helpers.mount.ismount(self.path / "etc/apk/keys")
|
||||
|
||||
|
||||
@property
|
||||
def arch(self) -> Arch:
|
||||
if self.type == ChrootType.NATIVE:
|
||||
|
@ -108,8 +103,7 @@ class Chroot:
|
|||
if arch is not None:
|
||||
return arch
|
||||
|
||||
raise ValueError(f"Invalid chroot suffix: {self}"
|
||||
" (wrong device chosen in 'init' step?)")
|
||||
raise ValueError(f"Invalid chroot suffix: {self}" " (wrong device chosen in 'init' step?)")
|
||||
|
||||
def __eq__(self, other: object) -> bool:
|
||||
if isinstance(other, str):
|
||||
|
@ -123,7 +117,6 @@ class Chroot:
|
|||
|
||||
return self.type == other.type and self.name == other.name
|
||||
|
||||
|
||||
def __truediv__(self, other: object) -> Path:
|
||||
if isinstance(other, PosixPath) or isinstance(other, PurePosixPath):
|
||||
# Convert the other path to a relative path
|
||||
|
@ -136,7 +129,6 @@ class Chroot:
|
|||
|
||||
return NotImplemented
|
||||
|
||||
|
||||
def __rtruediv__(self, other: object) -> Path:
|
||||
if isinstance(other, PosixPath) or isinstance(other, PurePosixPath):
|
||||
# Important to produce a new Path object here, otherwise we
|
||||
|
@ -149,32 +141,26 @@ class Chroot:
|
|||
|
||||
return NotImplemented
|
||||
|
||||
|
||||
@property
|
||||
def type(self) -> ChrootType:
|
||||
return self.__type
|
||||
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
return self.__name
|
||||
|
||||
|
||||
@staticmethod
|
||||
def native() -> Chroot:
|
||||
return Chroot(ChrootType.NATIVE)
|
||||
|
||||
|
||||
@staticmethod
|
||||
def buildroot(arch: Arch) -> Chroot:
|
||||
return Chroot(ChrootType.BUILDROOT, arch)
|
||||
|
||||
|
||||
@staticmethod
|
||||
def rootfs(device: str) -> Chroot:
|
||||
return Chroot(ChrootType.ROOTFS, device)
|
||||
|
||||
|
||||
@staticmethod
|
||||
def from_str(s: str) -> Chroot:
|
||||
"""
|
||||
|
@ -191,7 +177,7 @@ class Chroot:
|
|||
# "native" is the only valid suffix type, the constructor(s)
|
||||
# will validate that stype is "native"
|
||||
return Chroot(ChrootType(stype))
|
||||
|
||||
|
||||
@staticmethod
|
||||
def iter_patterns() -> Generator[str, None, None]:
|
||||
"""
|
||||
|
@ -203,7 +189,6 @@ class Chroot:
|
|||
else:
|
||||
yield f"chroot_{stype.value}_*"
|
||||
|
||||
|
||||
@staticmethod
|
||||
def glob() -> Generator[Path, None, None]:
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue