diff --git a/.gitignore b/.gitignore index 0800ae8..90c0433 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ __pycache__ /tmp -/.vscode +/.idea /dist diff --git a/pyproject.toml b/pyproject.toml index ccd0aa1..ac386d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,35 +1,32 @@ [build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" +requires = ['hatchling'] +build-backend = 'hatchling.build' [project] authors = [ - { name = "Marc Beninca", email = "git@marc.beninca.link" }, + { name = 'Marc Beninca', email = 'git@marc.beninca.link' }, ] maintainers = [ - { name = "Marc Beninca", email = "git@marc.beninca.link" }, + { name = 'Marc Beninca', email = 'git@marc.beninca.link' }, ] classifiers = [ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU Affero General Public License v3", - "Operating System :: OS Independent", + 'Programming Language :: Python :: 3', + 'License :: OSI Approved :: GNU Affero General Public License v3', + 'Operating System :: OS Independent', ] dependencies = [] -description = "Read Write eXecute" -dynamic = ["version"] +description = 'Read Write eXecute' +dynamic = ['version'] keywords = [] -license-files = { paths = ["license.md"] } -name = "rwx" -readme = "readme.md" -requires-python = ">= 3.10" +license-files = { paths = ['license.md'] } +name = 'rwx' +readme = 'readme.md' +requires-python = '>= 3.10' [project.scripts] -# command = "package.module:function" +# command = 'package.module:function' [project.urls] [tool.hatch.version] -path = "rwx/__init__.py" - -[tool.ruff] -select = ["ALL"] +path = 'rwx/__init__.py' diff --git a/rwx/__init__.py b/rwx/__init__.py index a721b9a..b8023d8 100644 --- a/rwx/__init__.py +++ b/rwx/__init__.py @@ -1,2 +1 @@ -"""Read Write eXecute.""" -__version__ = "0.0.1" +__version__ = '0.0.1' diff --git a/rwx/__main__.py b/rwx/__main__.py index 519fb8e..0f73041 100755 --- a/rwx/__main__.py +++ b/rwx/__main__.py @@ -1,14 +1,18 @@ #! /usr/bin/env python3 -from pathlib import Path + +import os + import fs -if __name__ == "__main__": - file_path = Path(__file__).resolve() - root_path = file_path.parent - directory_path = root_path / "tmp" - file_path = directory_path / "file" + + +if __name__ == '__main__': + file_path = os.path.realpath(__file__) + root_path = os.path.dirname(file_path) + directory_path = os.path.join(root_path, 'tmp') + file_path = os.path.join(directory_path, 'file') fs.wipe(directory_path) fs.make_directory(directory_path) - fs.write(file_path, "Martine écrit beaucoup.") + fs.write(file_path, 'Martine écrit beaucoup.') fs.empty_file(file_path) - fs.write(file_path, "Martine écrit moins.") + fs.write(file_path, 'Martine écrit moins.') diff --git a/rwx/cmd/__init__.py b/rwx/cmd/__init__.py index de764fa..9403d24 100644 --- a/rwx/cmd/__init__.py +++ b/rwx/cmd/__init__.py @@ -4,11 +4,12 @@ packages: list[str] = [] def need(command: str) -> None: match command: - case "debootstrap": - package = "debootstrap" - case "mksquashfs" | "unsquashfs": - package = "squashfs-tools" + case 'debootstrap': + package = 'debootstrap' + case 'mksquashfs' | 'unsquashfs': + package = 'squashfs-tools' case _: package = None - if package and package not in packages: - packages.append(package) + if package: + if package not in packages: + packages.append(package) diff --git a/rwx/cmd/squashfs/__init__.py b/rwx/cmd/squashfs/__init__.py index 343461e..637890a 100644 --- a/rwx/cmd/squashfs/__init__.py +++ b/rwx/cmd/squashfs/__init__.py @@ -1,15 +1,14 @@ import ps - import rwx.cmd -rwx.cmd.need("mksquashfs") +rwx.cmd.need('mksquashfs') def mksquashfs(input_root: str, output_file: str): ps.run([ - "mksquashfs", + 'mksquashfs', input_root, output_file, - "-comp", "zstd", - "-Xcompression-level", str(18), + '-comp', 'zstd', + '-Xcompression-level', str(18), ]) diff --git a/rwx/deb/__init__.py b/rwx/deb/__init__.py index e9c6a9e..a773123 100644 --- a/rwx/deb/__init__.py +++ b/rwx/deb/__init__.py @@ -1,20 +1,20 @@ import cmd - import ps -cmd.need("debootstrap") +cmd.need('debootstrap') -BOOTSTRAP_ARCHITECTURE = "amd64" -BOOTSTRAP_VARIANT = "minbase" +BOOTSTRAP_ARCHITECTURE = 'amd64' +BOOTSTRAP_VARIANT = 'minbase' def bootstrap(root_path: str, suite: str, mirror_location: str): command = [ - ("debootstrap",), - ("--arch", BOOTSTRAP_ARCHITECTURE), - ("--variant", BOOTSTRAP_VARIANT), + ('debootstrap',), + ('--arch', BOOTSTRAP_ARCHITECTURE), + ('--variant', BOOTSTRAP_VARIANT), (suite,), (root_path,), (mirror_location,), ] - return ps.run(command) + completed_process = ps.run(command) + return completed_process diff --git a/rwx/err/__init__.py b/rwx/err/__init__.py deleted file mode 100644 index b996913..0000000 --- a/rwx/err/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -class Exception(Exception): - pass diff --git a/rwx/fs/__init__.py b/rwx/fs/__init__.py index e769358..ecaebf0 100644 --- a/rwx/fs/__init__.py +++ b/rwx/fs/__init__.py @@ -3,34 +3,34 @@ import shutil from rwx import ps -CHARSET = "UTF-8" +CHARSET = 'UTF-8' def create_image(file_path: str, size_bytes: int): ps.run( - ("qemu-img", "create"), - ("-f", "qcow2"), + ('qemu-img', 'create'), + ('-f', 'qcow2'), (file_path, size_bytes), ) def empty_file(path: str): - write(path, "") + write(path, str()) def get_mount_uuid(path: str): return ps.run_line( - ("findmnt",), - ("--noheadings",), - ("--output", "UUID"), + ('findmnt',), + ('--noheadings',), + ('--output', 'UUID'), (path,), ) def get_path_mount(path: str): return ps.run_line( - ("stat",), - ("--format", "%m"), + ('stat',), + ('--format', '%m'), (path,), ) @@ -44,7 +44,7 @@ def make_directory(path: str): def read_file(file_path: str): - with open(file_path, "br") as file_object: + with open(file_path, 'br') as file_object: return file_object.read() @@ -66,5 +66,5 @@ def wipe(path: str): def write(file_path: str, text: str, charset=CHARSET): - with open(file_path, "bw") as file_object: + with open(file_path, 'bw') as file_object: file_object.write(text.encode(charset)) diff --git a/rwx/grub/__init__.py b/rwx/grub/__init__.py index 57e313c..b931ee3 100644 --- a/rwx/grub/__init__.py +++ b/rwx/grub/__init__.py @@ -1,33 +1,32 @@ import cmd - import ps -cmd.need("grub-mkimage") +cmd.need('grub-mkimage') -COMPRESSION = "xz" +COMPRESSION = 'xz' ENV_BYTES = 1024 -ENV_COMMENT = "#" -ENV_HEADER = f"""{ENV_COMMENT} GRUB Environment Block -""" +ENV_COMMENT = '#' +ENV_HEADER = f'''{ENV_COMMENT} GRUB Environment Block +''' MODULES = { - "i386-pc": [ - ("biosdisk",), - ("ntldr",), - ], + 'i386-pc': [ + ('biosdisk',), + ('ntldr',), + ] } def make_image(image_format: str, image_path: str, modules: list[str], - memdisk_path: str, pubkey_path: str | None = None) -> None: + memdisk_path: str, pubkey_path: str = None) -> None: args = [ - ("grub-mkimage",), - ("--compress", COMPRESSION), - ("--format", image_format), - ("--output", image_path), - ("--memdisk", memdisk_path), + ('grub-mkimage',), + ('--compress', COMPRESSION), + ('--format', image_format), + ('--output', image_path), + ('--memdisk', memdisk_path), ] if pubkey_path: - args.append(("--pubkey", pubkey_path)) + args.append(('--pubkey', pubkey_path)) args.extend(modules) if modules := MODULES.get(image_format, None): args.extend(modules) diff --git a/rwx/log/__init__.py b/rwx/log/__init__.py index 3502ab5..2cf0b09 100644 --- a/rwx/log/__init__.py +++ b/rwx/log/__init__.py @@ -2,27 +2,21 @@ import logging import sys -def get_file_logger(name: str) -> logging.Logger: +def get_logger(name: str) -> logging.Logger: formatter = logging.Formatter( - "%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s | %(process)d >>> %(message)s", + "%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s | %(process)d >>> %(message)s" ) - # + + # file_handler = logging.FileHandler('log.txt') + # file_handler.setFormatter(formatter) + # file_handler.setLevel(logging.INFO) + out_handler = logging.StreamHandler(stream=sys.stdout) out_handler.setFormatter(formatter) out_handler.setLevel(logging.INFO) - # + logger = logging.getLogger(name) + # logger.addHandler(file_handler) logger.addHandler(out_handler) logger.setLevel(logging.INFO) - # return logger -def get_stream_logger() -> logging.Logger: - out_handler = logging.StreamHandler(stream=sys.stdout) - out_handler.setLevel(logging.INFO) - # - logger = logging.getLogger() - logger.addHandler(out_handler) - logger.setLevel(logging.INFO) - # - return logger -stream = get_stream_logger() diff --git a/rwx/prj/__init__.py b/rwx/prj/__init__.py index 227a686..f0a2fe5 100644 --- a/rwx/prj/__init__.py +++ b/rwx/prj/__init__.py @@ -2,7 +2,7 @@ from os import path class Project: - def __init__(self, file_path: str) -> None: + def __init__(self, file_path: str): self.file: str = path.realpath(file_path) self.root: str = path.dirname(self.file) self.name: str = path.basename(self.root) diff --git a/rwx/prj/sphinx.py b/rwx/prj/sphinx.py index ccb8d0f..4da1ebf 100644 --- a/rwx/prj/sphinx.py +++ b/rwx/prj/sphinx.py @@ -1,5 +1,4 @@ from os import path - from sphinx.cmd.build import build_main from rwx.fs import wipe @@ -7,11 +6,11 @@ from rwx.prj import Project class SphinxProject(Project): - def __init__(self, file_path: str) -> None: + def __init__(self, file_path: str): super().__init__(file_path) def build(self): - output_root: str = path.join(self.root, "out") + output_root: str = path.join(self.root, 'out') wipe(output_root) arguments: list[str] = [ "-E", diff --git a/rwx/txt/__init__.py b/rwx/txt/__init__.py index 369202c..edb0624 100644 --- a/rwx/txt/__init__.py +++ b/rwx/txt/__init__.py @@ -1 +1 @@ -CHARSET = "UTF-8" +CHARSET = 'UTF-8'