From 94db932ba3ba9c6b6925460da4b05968e57ae137 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 29 Sep 2025 10:47:37 +0200 Subject: [PATCH] feat: remove console.read_write option --- src/rougail/output_console/__init__.py | 12 ++++-------- src/rougail/output_console/config.py | 13 ++++++++++--- tests/test_load.py | 5 ++++- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/rougail/output_console/__init__.py b/src/rougail/output_console/__init__.py index dcc9cab..1c49945 100644 --- a/src/rougail/output_console/__init__.py +++ b/src/rougail/output_console/__init__.py @@ -52,7 +52,6 @@ class RougailOutputConsole: rougailconfig = RougailConfig self.rougailconfig = rougailconfig self.config = config - self.read_write = self.rougailconfig["console.read_write"] self.is_mandatory = self.rougailconfig["console.mandatory"] self.show_secrets = self.rougailconfig["console.show_secrets"] self.key_is_description = self.rougailconfig["console.key_is_description"] @@ -76,8 +75,6 @@ class RougailOutputConsole: self.root = self.get_root() def mandatory(self): - if not self.is_mandatory: - return try: mandatories = self.config.value.mandatory() except (ConfigError, PropertiesOptionError) as err: @@ -109,12 +106,11 @@ class RougailOutputConsole: self.errors.append([option.description() for option in options_with_error]) def exporter(self) -> bool: - self.config.property.read_write() - self.mandatory() - if self.read_write: + if self.is_mandatory: + ori_properties = self.config.property.exportation() self.config.property.read_write() - else: - self.config.property.read_only() + self.mandatory() + self.config.property.importation(ori_properties) warnings = self.user_data_warnings + self.warnings if warnings: self.display_warnings(warnings) diff --git a/src/rougail/output_console/config.py b/src/rougail/output_console/config.py index a1700d6..1666f28 100644 --- a/src/rougail/output_console/config.py +++ b/src/rougail/output_console/config.py @@ -34,11 +34,18 @@ console: disabled {{% endif %}} - read_write: false # {_('Display variables available in read_write mode')} - show_secrets: false # {_('Show secrets instead of obscuring them')} - mandatory: true # {_('Test mandatories variable before display in console')} + mandatory: + description: {_('test mandatories variables before display in json')} + type: boolean + default: + jinja: |- + {{% if cli.read_write is defined and cli.read_write %}} + false + {{% else %}} + true + {{% endif %}} key_is_description: true # {_("In tree the key is the family or variable description inside of it's name")} """ diff --git a/tests/test_load.py b/tests/test_load.py index c939ad8..d766d37 100644 --- a/tests/test_load.py +++ b/tests/test_load.py @@ -34,7 +34,6 @@ def _test_structural_files(test_dir, namespace, ext, *, read_write=True, mandato return ################################## rougailconfig['step.output'] = 'console' - rougailconfig["console.read_write"] = read_write rougailconfig["console.mandatory"] = mandatory rougailconfig["console.show_secrets"] = show_secrets rougailconfig["console.key_is_description"] = key_is_description @@ -62,6 +61,10 @@ def _test_structural_files(test_dir, namespace, ext, *, read_write=True, mandato if do_calc and (mandatory or not read_write): get_values_for_config(config) ################################## + if read_write: + config.property.read_write() + else: + config.property.read_only() generated_output = RougailOutput(config, rougailconfig=rougailconfig).run()[1] output_file = Path(__file__).parent / 'results' / dir_name / (test_dir.name + "." + ext) if not output_file.is_file():