def parse_epel_release(release: str) -> int:
fields = release.split(".")
- if fields[0].endswith("-stream"):
- epel_release = fields[0].split("-")[0]
- else:
- epel_release = fields[0]
-
- return int(epel_release)
+ return int(fields[0].removesuffix("-stream"))
def install_distribution(state: MkosiState, cached: bool) -> None:
for path, _, filenames in os.walk(top):
for filename in filenames:
fp = os.path.join(path, filename) # full path
- fr = os.path.join(".git/", fp[len(top) :]) # relative to top
+ fr = os.path.join(".git/", fp.removeprefix(top)) # relative to top
files.add(fr)
# Get submodule files
@classmethod
def _is_epel(cls) -> bool:
name = cls.__name__
- if name.endswith("Installer"):
- name = name[:-9]
+ name = name.removesuffix("Installer")
return name.endswith("Epel")
@staticmethod
def _parse_epel_release(release: str) -> int:
fields = release.split(".")
- if fields[0].endswith("-stream"):
- epel_release = fields[0].split("-")[0]
- else:
- epel_release = fields[0]
- return int(epel_release)
+ return int(fields[0].removesuffix("-stream"))
@staticmethod
def _gpg_locations(epel_release: int) -> Tuple[Path, str]:
nevra, srpm, name, arch, size, installtime = package.split("\t")
assert nevra.startswith(f"{name}-")
- evra = nevra[len(name) + 1 :]
+ evra = nevra.removeprefix(f"{name}-")
# Some packages have architecture '(none)', and it's not part of NEVRA, e.g.:
# gpg-pubkey-45719a39-5f2c0192 gpg-pubkey (none) 0 1635985199
if arch != "(none)":
assert nevra.endswith(f".{arch}")
- evr = evra[: len(arch) + 1]
+ evr = evra.removesuffix(f".{arch}")
else:
evr = evra
arch = ""