diff --git a/rwx/fs/__init__.py b/rwx/fs/__init__.py index a8865e7..514fcec 100644 --- a/rwx/fs/__init__.py +++ b/rwx/fs/__init__.py @@ -2,7 +2,6 @@ import os import shutil -from pathlib import Path from rwx import ps @@ -49,23 +48,20 @@ def get_path_uuid(path: str) -> str: def make_directory(path: str) -> None: """Make a directory (and its parents) from a path.""" - Path(path).mkdir(exist_ok=True, parents=True) + os.makedirs(path, exist_ok=True) -def read_file_bytes(file_path: str) -> bytes: - """Read whole file bytes.""" - with Path(file_path).open("br") as file_object: +def read_file(file_path: str): + with open(file_path, "br") as file_object: return file_object.read() -def read_file_lines(file_path: str, charset: str = CHARSET) -> list[str]: - """Read whole file lines.""" - return read_file_text(file_path, charset).split(os.linesep) +def read_file_lines(file_path: str, charset: str = CHARSET): + return read_file_text(file_path).split(os.linesep) -def read_file_text(file_path: str, charset: str = CHARSET) -> str: - """Read whole file text.""" - return read_file_bytes(file_path).decode(charset) +def read_file_text(file_path: str, charset: str = CHARSET): + return read_file(file_path).decode(charset) def wipe(path: str) -> None: @@ -73,12 +69,12 @@ def wipe(path: str) -> None: try: shutil.rmtree(path) except NotADirectoryError: - Path(path).unlink(missing_ok=True) + os.remove(path) except FileNotFoundError: pass def write(file_path: str, text: str, charset: str = CHARSET) -> None: """Write text into a file.""" - with Path(file_path).open(encoding=charset, mode="w") as file_object: - file_object.write(text) + with open(file_path, "bw") as file_object: + file_object.write(text.encode(charset)) diff --git a/rwx/prj/__init__.py b/rwx/prj/__init__.py index 8b70a4a..6a3e059 100644 --- a/rwx/prj/__init__.py +++ b/rwx/prj/__init__.py @@ -1,7 +1,6 @@ """Handle projects.""" -from os.path import realpath -from pathlib import Path +from os import path class Project: @@ -9,6 +8,6 @@ class Project: def __init__(self, file_path: str) -> None: """Set file, root & name.""" - self.file: str = realpath(file_path) - self.root: str = Path(self.file).parent - self.name: str = self.root.name + 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 b85cfa5..13252f8 100644 --- a/rwx/prj/sphinx.py +++ b/rwx/prj/sphinx.py @@ -1,5 +1,7 @@ """Project consisting only of a Sphinx documentation.""" +from os import path + from sphinx.cmd.build import build_main from rwx.fs import wipe @@ -15,7 +17,7 @@ class SphinxProject(Project): def build(self) -> None: """Build the project.""" - output_root: str = self.root / "out" + output_root: str = path.join(self.root, "out") wipe(output_root) arguments: list[str] = [ "-E", @@ -32,7 +34,7 @@ class SphinxProject(Project): "-c", self.root, # "-C", - self.root / self.name, - output_root / "web", + path.join(self.root, self.name), + path.join(output_root, "web"), ] build_main(arguments)