diff options
author | crupest <crupest@outlook.com> | 2024-11-11 01:12:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-01-20 23:24:41 +0800 |
commit | 90a72d2d7ed4a5eadfe36f62d81f26ca3324e49b (patch) | |
tree | 0e5241878de3fc7cd36e4e5bcd2eac3ae1b063f6 /tools/cru-py/cru | |
parent | 907eff64f175822e1113887a8b547490dadf9687 (diff) | |
download | crupest-90a72d2d7ed4a5eadfe36f62d81f26ca3324e49b.tar.gz crupest-90a72d2d7ed4a5eadfe36f62d81f26ca3324e49b.tar.bz2 crupest-90a72d2d7ed4a5eadfe36f62d81f26ca3324e49b.zip |
HALF WORK: 2024.1.20 - 4
Diffstat (limited to 'tools/cru-py/cru')
-rw-r--r-- | tools/cru-py/cru/service/_template.py | 4 | ||||
-rw-r--r-- | tools/cru-py/cru/template.py | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/tools/cru-py/cru/service/_template.py b/tools/cru-py/cru/service/_template.py index ca2135f..b6affd1 100644 --- a/tools/cru-py/cru/service/_template.py +++ b/tools/cru-py/cru/service/_template.py @@ -1,4 +1,5 @@ from argparse import Namespace +import shutil from cru import CruIterator from cru.template import TemplateTree @@ -47,6 +48,8 @@ class TemplateManager(AppCommandFeatureProvider): def _generate_files(self, dry_run: bool) -> None: config_manager = self.app.get_feature(ConfigManager) + if not dry_run: + shutil.rmtree(self.generated_dir.full_path) self.template_tree.generate_to( self.generated_dir.full_path_str, config_manager.get_str_dict(), dry_run ) @@ -78,3 +81,4 @@ class TemplateManager(AppCommandFeatureProvider): self._generate_files(dry_run) if dry_run: print("Dry run successfully.") + print(f"Will delete dir {self.generated_dir.full_path_str}.") diff --git a/tools/cru-py/cru/template.py b/tools/cru-py/cru/template.py index 74a5c9a..9f0b560 100644 --- a/tools/cru-py/cru/template.py +++ b/tools/cru-py/cru/template.py @@ -142,6 +142,11 @@ class TemplateTree: ) -> None: for file, template in self.templates: des = CruPath(destination) / file + if self.template_file_suffix is not None and des.name.endswith( + self.template_file_suffix + ): + des = des.parent / (des.name[: -len(self.template_file_suffix)]) + text = template.generate(variables) if not dry_run: des.parent.mkdir(parents=True, exist_ok=True) |