1
0
Fork 1
mirror of https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git synced 2025-07-15 20:35:11 +03:00

pmb, tests: Enable Refurb checks

Simplifies some code.
This commit is contained in:
Newbyte 2025-05-26 21:17:21 +02:00
parent 83a88c4ea7
commit fc8fd02213
12 changed files with 20 additions and 29 deletions

View file

@ -67,7 +67,6 @@ def generate(pkgname: str) -> None:
rm .PKGINFO .SIGN.* rm .PKGINFO .SIGN.*
}} }}
""" """
for line in apkbuild.split("\n"): handle.writelines(line[12:].replace(" " * 4, "\t") + "\n" for line in apkbuild.split("\n"))
handle.write(line[12:].replace(" " * 4, "\t") + "\n")
pmb.aportgen.core.generate_checksums(tempdir, apkbuild_path) pmb.aportgen.core.generate_checksums(tempdir, apkbuild_path)

View file

@ -106,7 +106,7 @@ def rewrite(
path = get_context().config.work / "aportgen/APKBUILD" path = get_context().config.work / "aportgen/APKBUILD"
with open(path, "r+", encoding="utf-8") as handle: with open(path, "r+", encoding="utf-8") as handle:
skip_in_func = False skip_in_func = False
for line in handle.readlines(): for line in handle:
# Skip maintainer/contributor # Skip maintainer/contributor
if line.startswith(("# Maintainer", "# Contributor")): if line.startswith(("# Maintainer", "# Contributor")):
continue continue

View file

@ -248,8 +248,7 @@ def generate_deviceinfo(
pmb.helpers.run.user(["mkdir", "-p", work / "aportgen"]) pmb.helpers.run.user(["mkdir", "-p", work / "aportgen"])
path = work / "aportgen/deviceinfo" path = work / "aportgen/deviceinfo"
with open(path, "w", encoding="utf-8") as handle: with open(path, "w", encoding="utf-8") as handle:
for line in content.rstrip().split("\n"): handle.writelines(line.lstrip() + "\n" for line in content.rstrip().split("\n"))
handle.write(line.lstrip() + "\n")
def generate_modules_initfs() -> None: def generate_modules_initfs() -> None:
@ -270,8 +269,7 @@ def generate_modules_initfs() -> None:
pmb.helpers.run.user(["mkdir", "-p", work / "aportgen"]) pmb.helpers.run.user(["mkdir", "-p", work / "aportgen"])
path = work / "aportgen/modules-initfs" path = work / "aportgen/modules-initfs"
with open(path, "w", encoding="utf-8") as handle: with open(path, "w", encoding="utf-8") as handle:
for line in content.rstrip().split("\n"): handle.writelines(line.lstrip() + "\n" for line in content.rstrip().split("\n"))
handle.write(line.lstrip() + "\n")
def generate_apkbuild(pkgname: str, name: str, arch: Arch, flash_method: str) -> None: def generate_apkbuild(pkgname: str, name: str, arch: Arch, flash_method: str) -> None:
@ -320,8 +318,9 @@ def generate_apkbuild(pkgname: str, name: str, arch: Arch, flash_method: str) ->
pmb.helpers.run.user(["mkdir", "-p", work / "aportgen"]) pmb.helpers.run.user(["mkdir", "-p", work / "aportgen"])
path = work / "aportgen/APKBUILD" path = work / "aportgen/APKBUILD"
with open(path, "w", encoding="utf-8") as handle: with open(path, "w", encoding="utf-8") as handle:
for line in content.rstrip().split("\n"): handle.writelines(
handle.write(line[8:].replace(" " * 4, "\t") + "\n") line[8:].replace(" " * 4, "\t") + "\n" for line in content.rstrip().split("\n")
)
def generate(pkgname: str) -> None: def generate(pkgname: str) -> None:

View file

@ -56,7 +56,6 @@ def generate(pkgname: str) -> None:
rm .PKGINFO .SIGN.* rm .PKGINFO .SIGN.*
}} }}
""" """
for line in apkbuild.split("\n"): handle.writelines(line[12:].replace(" " * 4, "\t") + "\n" for line in apkbuild.split("\n"))
handle.write(line[12:].replace(" " * 4, "\t") + "\n")
pmb.aportgen.core.generate_checksums(tempdir, apkbuild_path) pmb.aportgen.core.generate_checksums(tempdir, apkbuild_path)

View file

@ -91,7 +91,6 @@ def generate(pkgname: str) -> None:
done done
}} }}
""" """
for line in apkbuild.split("\n"): handle.writelines(line[12:].replace(" " * 4, "\t") + "\n" for line in apkbuild.split("\n"))
handle.write(line[12:].replace(" " * 4, "\t") + "\n")
pmb.aportgen.core.generate_checksums(tempdir, apkbuild_path) pmb.aportgen.core.generate_checksums(tempdir, apkbuild_path)

View file

@ -109,8 +109,7 @@ def override_source(
# Write and log append file # Write and log append file
with open(append_path_outside, "w", encoding="utf-8") as handle: with open(append_path_outside, "w", encoding="utf-8") as handle:
for line in append.split("\n"): handle.writelines(line[13:].replace(" " * 4, "\t") + "\n" for line in append.split("\n"))
handle.write(line[13:].replace(" " * 4, "\t") + "\n")
pmb.chroot.user(["cat", append_path], chroot) pmb.chroot.user(["cat", append_path], chroot)
# Append it to the APKBUILD # Append it to the APKBUILD

View file

@ -367,8 +367,7 @@ def ask_for_provider_select(apkbuild: dict[str, Any], providers_cfg: dict[str, s
for pkgname, pkg in providers: for pkgname, pkg in providers:
# Strip provider prefix if possible # Strip provider prefix if possible
short = pkgname short = pkgname
if short.startswith(f"{select}-"): short = short.removeprefix(f"{select}-")
short = short[len(f"{select}-") :]
# Allow selecting the package using both short and long name # Allow selecting the package using both short and long name
providers_short[pkgname] = pkgname providers_short[pkgname] = pkgname

View file

@ -138,9 +138,7 @@ def read_config(
def all_channels() -> list[str]: def all_channels() -> list[str]:
"""Get a list of all channels for all pkgrepos.""" """Get a list of all channels for all pkgrepos."""
ret = set() ret = {read_config(repo)["channel"] for repo in pkgrepo_paths()}
for repo in pkgrepo_paths():
ret.add(read_config(repo)["channel"])
logging.verbose(f"all_chanels: {ret}") logging.verbose(f"all_chanels: {ret}")
return list(ret) return list(ret)

View file

@ -34,8 +34,7 @@ GITLAB_HOSTS = [
def init_req_headers() -> None: def init_req_headers() -> None:
global req_headers global req_headers, req_headers_github
global req_headers_github
# Only initialize them once # Only initialize them once
if req_headers and req_headers_github: if req_headers and req_headers_github:
return return

View file

@ -24,7 +24,7 @@ def is_set(config: str, option: str) -> bool:
:param option: name of the option to check, e.g. EXT4_FS :param option: name of the option to check, e.g. EXT4_FS
:returns: True if the check passed, False otherwise :returns: True if the check passed, False otherwise
""" """
return re.search("^CONFIG_" + option + "=[ym]$", config, re.M) is not None return re.search("^CONFIG_" + option + "=[ym]$", config, re.MULTILINE) is not None
def is_set_str(config: str, option: str, string: str) -> bool: def is_set_str(config: str, option: str, string: str) -> bool:
@ -36,7 +36,7 @@ def is_set_str(config: str, option: str, string: str) -> bool:
:param string: the expected string :param string: the expected string
:returns: True if the check passed, False otherwise :returns: True if the check passed, False otherwise
""" """
match = re.search("^CONFIG_" + option + '="(.*)"$', config, re.M) match = re.search("^CONFIG_" + option + '="(.*)"$', config, re.MULTILINE)
if match: if match:
return string == match.group(1) return string == match.group(1)
else: else:
@ -52,7 +52,7 @@ def is_in_array(config: str, option: str, string: str) -> bool:
:param string: the string expected to be an element of the array :param string: the string expected to be an element of the array
:returns: True if the check passed, False otherwise :returns: True if the check passed, False otherwise
""" """
match = re.search("^CONFIG_" + option + '="(.*)"$', config, re.M) match = re.search("^CONFIG_" + option + '="(.*)"$', config, re.MULTILINE)
if match: if match:
values = match.group(1).split(",") values = match.group(1).split(",")
return string in values return string in values

View file

@ -34,12 +34,13 @@ line-length=100
target-version = "py310" target-version = "py310"
[tool.ruff.lint] [tool.ruff.lint]
# FURB101, FURB103: Easier to do if str gets replaced with Path in more places.
# PERF203: Negligible performance improvement on Python 3.11 and newer, and # PERF203: Negligible performance improvement on Python 3.11 and newer, and
# not worth the required rework. # not worth the required rework.
# RUF021: Could be fixed if someone cares about this. # RUF021: Could be fixed if someone cares about this.
# RUF052: Needs a lot of changes, feel free to fix and then remove this ignore. # RUF052: Needs a lot of changes, feel free to fix and then remove this ignore.
extend-ignore = ["PERF203", "RUF021", "RUF052"] extend-ignore = ["FURB101", "FURB103", "PERF203", "RUF021", "RUF052"]
extend-select = ["CPY001", "N", "PERF", "PIE", "RUF", "UP"] extend-select = ["CPY001", "FURB", "N", "PERF", "PIE", "RUF", "UP"]
preview = true preview = true
[tool.ruff.format] [tool.ruff.format]

View file

@ -178,8 +178,7 @@ def random_valid_deviceinfo(tmp_path):
# Now write it all out to a file # Now write it all out to a file
with open(path, "w") as f: with open(path, "w") as f:
for key, value in info.items(): f.writelines(f'deviceinfo_{key}="{value}"\n' for key, value in info.items())
f.write(f'deviceinfo_{key}="{value}"\n')
return path return path