From dd85f7425dc3df7b32339cdb3196a6f96b43f670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Sat, 5 Feb 2022 21:44:52 +0100 Subject: [PATCH] refactor builder into own file --- PyTeX/build/build/__init__.py | 2 + .../build_dir_spec.py} | 17 --------- PyTeX/build/build/builder.py | 20 ++++++++++ PyTeX/build/config/__init__.py | 1 - PyTeX/tmp/pytex_path.py | 2 +- main.py | 37 +++++++++++++++++++ 6 files changed, 60 insertions(+), 19 deletions(-) create mode 100644 PyTeX/build/build/__init__.py rename PyTeX/build/{config/global_config.py => build/build_dir_spec.py} (75%) create mode 100644 PyTeX/build/build/builder.py delete mode 100644 PyTeX/build/config/__init__.py create mode 100644 main.py diff --git a/PyTeX/build/build/__init__.py b/PyTeX/build/build/__init__.py new file mode 100644 index 0000000..b084ded --- /dev/null +++ b/PyTeX/build/build/__init__.py @@ -0,0 +1,2 @@ +from .build_dir_spec import BuildDirSpecification +from .builder import PyTeXBuilder diff --git a/PyTeX/build/config/global_config.py b/PyTeX/build/build/build_dir_spec.py similarity index 75% rename from PyTeX/build/config/global_config.py rename to PyTeX/build/build/build_dir_spec.py index ffb9c5c..7e0090f 100644 --- a/PyTeX/build/config/global_config.py +++ b/PyTeX/build/build/build_dir_spec.py @@ -1,6 +1,5 @@ from pathlib import Path, PurePath from typing import Optional -from PyTeX.format.formatting_config import FormattingConfig from ..enums import PyTeXRootDirType @@ -52,19 +51,3 @@ class BuildDirSpecification: raise NotImplementedError -class PyTeXBuilder: - def __init__( - self, - build_dir_spec: BuildDirSpecification - ): - self._build_spec: BuildDirSpecification = None - - self._default_formatting_config: Optional[FormattingConfig] = None - - self._recursive: bool = True - self._overwrite_existing_files: bool = False - self._clean_old_files: True - - self._allow_dirty: bool = False - - diff --git a/PyTeX/build/build/builder.py b/PyTeX/build/build/builder.py new file mode 100644 index 0000000..64a13d8 --- /dev/null +++ b/PyTeX/build/build/builder.py @@ -0,0 +1,20 @@ +from typing import Optional + +from PyTeX.build.build import BuildDirSpecification +from PyTeX.format.formatting_config import FormattingConfig + + +class PyTeXBuilder: + def __init__( + self, + build_dir_spec: BuildDirSpecification + ): + self._build_spec: BuildDirSpecification = None + + self._default_formatting_config: Optional[FormattingConfig] = None + + self._recursive: bool = True + self._overwrite_existing_files: bool = False + self._clean_old_files: True + + self._allow_dirty: bool = False \ No newline at end of file diff --git a/PyTeX/build/config/__init__.py b/PyTeX/build/config/__init__.py deleted file mode 100644 index 10e4aa3..0000000 --- a/PyTeX/build/config/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .global_config import PyTeXBuilder, BuildDirSpecification diff --git a/PyTeX/tmp/pytex_path.py b/PyTeX/tmp/pytex_path.py index 35a2a51..83d844e 100644 --- a/PyTeX/tmp/pytex_path.py +++ b/PyTeX/tmp/pytex_path.py @@ -1,5 +1,5 @@ from pathlib import Path, PurePath, PurePosixPath, PureWindowsPath -from PyTeX.build.config.global_config import PyTeXBuilder +from PyTeX.build.build import PyTeXBuilder from PyTeX.build.enums.enums import PyTeXRootDirType import os diff --git a/main.py b/main.py new file mode 100644 index 0000000..2532040 --- /dev/null +++ b/main.py @@ -0,0 +1,37 @@ +from pathlib import Path +from PyTeX.build.build import PyTeXBuilder +from PyTeX.build.build.build_dir_spec import BuildDirSpecification +from PyTeX.build.enums import * +from PyTeX.build.paths import RelativePath + + +spec = BuildDirSpecification( + source_root=Path('src'), + tex_root=Path('build/source'), + build_root=Path('build'), + doc_root=Path('build/doc'), + wrapper_dir=Path('mkessler') +) + +builder = PyTeXBuilder( + build_dir_spec=spec +) + + +p: RelativePath = RelativePath(Path('src'), 'src/hello/bla') + +rel = p.relative_path + +q = p / 'test' + +re2 = q.relative_path + +p2 = RelativePath(Path('doc'), 'build/doc/mkessler/hello/bla') + +p3 = p / p2 + + +p4 = p.with_name('myname') + + +print(p)