diff options
author | crupest <crupest@outlook.com> | 2024-11-11 01:12:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-01-20 22:34:18 +0800 |
commit | 5c76a1257b4a058bf919af3e31cc9461a39c2f33 (patch) | |
tree | cb32f0c22e5438a0ed9de4b29f58d0b7f142a58d /tools/cru-py/cru/service/_template.py | |
parent | 12e1272508ba0b5909069319007d677c1c76e355 (diff) | |
download | crupest-5c76a1257b4a058bf919af3e31cc9461a39c2f33.tar.gz crupest-5c76a1257b4a058bf919af3e31cc9461a39c2f33.tar.bz2 crupest-5c76a1257b4a058bf919af3e31cc9461a39c2f33.zip |
HALF WORK: 2024.1.20 - 2
Diffstat (limited to 'tools/cru-py/cru/service/_template.py')
-rw-r--r-- | tools/cru-py/cru/service/_template.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/cru-py/cru/service/_template.py b/tools/cru-py/cru/service/_template.py index 9241a1f..ca2135f 100644 --- a/tools/cru-py/cru/service/_template.py +++ b/tools/cru-py/cru/service/_template.py @@ -45,10 +45,10 @@ class TemplateManager(AppCommandFeatureProvider): for file in CruIterator(self.template_tree.templates).transform(lambda t: t[0]): print(file.as_posix()) - def _generate_files(self) -> None: + def _generate_files(self, dry_run: bool) -> None: config_manager = self.app.get_feature(ConfigManager) self.template_tree.generate_to( - self.generated_dir.full_path_str, config_manager.get_str_dict() + self.generated_dir.full_path_str, config_manager.get_str_dict(), dry_run ) def get_command_info(self): @@ -62,7 +62,10 @@ class TemplateManager(AppCommandFeatureProvider): _variables_parser = subparsers.add_parser( "variables", help="list variables used in all templates" ) - _generate_parser = subparsers.add_parser("generate", help="generate templates") + generate_parser = subparsers.add_parser("generate", help="generate templates") + generate_parser.add_argument( + "--no-dry-run", action="store_true", help="generate and write target files" + ) def run_command(self, args: Namespace) -> None: if args.template_command == "list": @@ -71,4 +74,7 @@ class TemplateManager(AppCommandFeatureProvider): for var in self.template_tree.variables: print(var) elif args.template_command == "generate": - self._generate_files() + dry_run = not args.no_dry_run + self._generate_files(dry_run) + if dry_run: + print("Dry run successfully.") |