Compare commits

...

10 commits

Author SHA1 Message Date
282e2ac7a1
log/level 2024-06-13 10:16:53 +02:00
3ce03d17c1
fix 2024-06-12 14:55:37 +02:00
4414a9a712
ruff/line-length 2024-06-12 14:54:59 +02:00
959107c245
run/check 2024-06-12 14:52:55 +02:00
73dc9598b7
useless 2024-06-12 14:48:37 +02:00
0a035f2cd6
ruff/format 2024-06-12 14:46:34 +02:00
7d0ffb8a65
ruff/lint 2024-06-12 14:45:30 +02:00
2648c2e6ba
/.venv 2024-06-12 14:43:26 +02:00
d23bbdd7c9
entry point 2024-06-10 18:02:49 +02:00
df2537dd6d
main/imports 2024-06-10 15:43:59 +02:00
9 changed files with 56 additions and 22 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
__pycache__
/tmp
/.venv
/.vscode
/dist

View file

@ -32,4 +32,8 @@ requires-python = ">= 3.10"
path = "rwx/__init__.py"
[tool.ruff]
line-length = 80
[tool.ruff.lint]
ignore = ["COM812", "D203", "D213", "ISC001"]
select = ["ALL"]

View file

@ -1,2 +1,3 @@
"""Read Write eXecute."""
__version__ = "0.0.1"

View file

@ -1,6 +1,11 @@
#! /usr/bin/env python3
"""Entry point."""
from pathlib import Path
import fs
if __name__ == "__main__":
file_path = Path(__file__).resolve()
root_path = file_path.parent

View file

@ -6,10 +6,14 @@ rwx.cmd.need("mksquashfs")
def mksquashfs(input_root: str, output_file: str):
ps.run([
"mksquashfs",
input_root,
output_file,
"-comp", "zstd",
"-Xcompression-level", str(18),
])
ps.run(
[
"mksquashfs",
input_root,
output_file,
"-comp",
"zstd",
"-Xcompression-level",
str(18),
]
)

View file

@ -17,8 +17,13 @@ MODULES = {
}
def make_image(image_format: str, image_path: str, modules: list[str],
memdisk_path: str, pubkey_path: str | None = None) -> None:
def make_image(
image_format: str,
image_path: str,
modules: list[str],
memdisk_path: str,
pubkey_path: str | None = None,
) -> None:
args = [
("grub-mkimage",),
("--compress", COMPRESSION),
@ -29,6 +34,6 @@ def make_image(image_format: str, image_path: str, modules: list[str],
if pubkey_path:
args.append(("--pubkey", pubkey_path))
args.extend(modules)
if modules := MODULES.get(image_format, None):
if modules := MODULES.get(image_format):
args.extend(modules)
ps.run(*args)

View file

@ -16,13 +16,17 @@ def get_file_logger(name: str) -> logging.Logger:
logger.setLevel(logging.INFO)
#
return logger
def get_stream_logger() -> logging.Logger:
def get_stream_logger(level: int) -> logging.Logger:
out_handler = logging.StreamHandler(stream=sys.stdout)
out_handler.setLevel(logging.INFO)
out_handler.setLevel(level)
#
logger = logging.getLogger()
logger.addHandler(out_handler)
logger.setLevel(logging.INFO)
logger.setLevel(level)
#
return logger
stream = get_stream_logger()
stream = get_stream_logger(logging.INFO)

View file

@ -15,12 +15,18 @@ class SphinxProject(Project):
wipe(output_root)
arguments: list[str] = [
"-E",
"-j", "2",
"-b", "html",
"-D", f"project={self.name}",
"-D", "master_doc={}".format("index"),
"-D", "html_theme={}".format("sphinx_rtd_theme"),
"-c", self.root,
"-j",
"2",
"-b",
"html",
"-D",
f"project={self.name}",
"-D",
"master_doc={}".format("index"),
"-D",
"html_theme={}".format("sphinx_rtd_theme"),
"-c",
self.root,
# "-C",
path.join(self.root, self.name),
path.join(output_root, self.name),

View file

@ -14,7 +14,9 @@ def get_tuples_args(tuples) -> list[str]:
def run(*tuples) -> subprocess.CompletedProcess:
return subprocess.run(get_tuples_args(tuples), capture_output=False)
return subprocess.run(
get_tuples_args(tuples), capture_output=False, check=True
)
def run_line(*tuples, charset: str = txt.CHARSET) -> str:
@ -23,6 +25,8 @@ def run_line(*tuples, charset: str = txt.CHARSET) -> str:
def run_lines(*tuples, charset: str = txt.CHARSET) -> list[str]:
process = subprocess.run(get_tuples_args(tuples), capture_output=True)
process = subprocess.run(
get_tuples_args(tuples), capture_output=True, check=True
)
string = process.stdout.decode(charset)
return string.rstrip().splitlines()