Compare commits

...

3 commits

8 changed files with 43 additions and 24 deletions

View file

@ -1,3 +1,10 @@
## 1.1.0 (2024-11-01)
### Fix
- black
- add changelog_merge_prerelease to commitizen
## 1.1.0rc0 (2024-11-01) ## 1.1.0rc0 (2024-11-01)
### Feat ### Feat

View file

@ -4,12 +4,10 @@ requires = ["flit_core >=3.8.0,<4"]
[project] [project]
name = "rougail" name = "rougail"
version = "1.1.0rc0" version = "1.1.0"
authors = [ authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
{name = "Emmanuel Garette", email = "gnunux@gnunux.info"},
]
description = "A consistency handling system that was initially designed in the configuration management"
readme = "README.md" readme = "README.md"
description = "A consistency handling system that was initially designed in the configuration management"
requires-python = ">=3.8" requires-python = ">=3.8"
classifiers = [ classifiers = [
"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
@ -32,9 +30,6 @@ dependencies = [
"tiramisu ~= 5.0.0" "tiramisu ~= 5.0.0"
] ]
[project.urls]
Home = "https://forge.cloud.silique.fr/stove/rougail"
[project.optional-dependencies] [project.optional-dependencies]
dev = [ dev = [
"pylint ~= 3.0.3", "pylint ~= 3.0.3",
@ -42,9 +37,14 @@ dev = [
"lxml ~= 5.2.2" "lxml ~= 5.2.2"
] ]
[project.urls]
Home = "https://forge.cloud.silique.fr/stove/rougail"
[tool.commitizen] [tool.commitizen]
name = "cz_conventional_commits" name = "cz_conventional_commits"
tag_format = "$version" tag_format = "$version"
version_scheme = "pep440" version_scheme = "pep440"
version_provider = "pep621" version_provider = "pep621"
update_changelog_on_bump = true update_changelog_on_bump = true
changelog_merge_prerelease = true

View file

@ -259,5 +259,9 @@ class Annotator(Walk): # pylint: disable=R0903
if value not in choices: if value not in choices:
msg = _( msg = _(
'the variable "{0}" has an unvalid default value "{1}" should be in {2}' 'the variable "{0}" has an unvalid default value "{1}" should be in {2}'
).format(variable.path, value, display_list(choices, separator="or", add_quote=True)) ).format(
variable.path,
value,
display_list(choices, separator="or", add_quote=True),
)
raise DictConsistencyError(msg, 26, variable.xmlfiles) raise DictConsistencyError(msg, 26, variable.xmlfiles)

View file

@ -403,7 +403,7 @@ suffix:
disabled: disabled:
variable: upgrade""" variable: upgrade"""
for process in processes: for process in processes:
if processes[process] or process == 'output': if processes[process] or process == "output":
objects = processes[process] objects = processes[process]
rougail_process += """ rougail_process += """
{NAME}: {NAME}:
@ -435,7 +435,9 @@ suffix:
rougail_process += """ {% if _.output == 'NAME' %} rougail_process += """ {% if _.output == 'NAME' %}
Cannot load user data for NAME output Cannot load user data for NAME output
{% endif %} {% endif %}
""".replace("NAME", hidden_output) """.replace(
"NAME", hidden_output
)
elif objects: elif objects:
rougail_process += " default: {DEFAULT}".format( rougail_process += " default: {DEFAULT}".format(
DEFAULT=objects[0]["name"] DEFAULT=objects[0]["name"]

View file

@ -467,11 +467,15 @@ class ParserVariable:
extra_keys = set(obj) - self.variable_attrs extra_keys = set(obj) - self.variable_attrs
if not extra_keys: if not extra_keys:
for key, value in obj.items(): for key, value in obj.items():
if isinstance(value, dict) and key != 'params' and not self.is_calculation( if (
key, isinstance(value, dict)
value, and key != "params"
self.variable_calculations, and not self.is_calculation(
False, key,
value,
self.variable_calculations,
False,
)
): ):
break break
else: else:

View file

@ -27,6 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from gettext import translation from gettext import translation
from pathlib import Path from pathlib import Path
t = translation('rougail', str(Path(__file__).parent / 'locale'), fallback=True) t = translation("rougail", str(Path(__file__).parent / "locale"), fallback=True)
_ = t.gettext _ = t.gettext

View file

@ -64,12 +64,14 @@ class Annotator(Walk):
for letter in alternative_name: for letter in alternative_name:
all_letters += letter all_letters += letter
if all_letters == "h": if all_letters == "h":
msg = _('alternative_name "{0}" conflict with "--help"').format(alternative_name) msg = _('alternative_name "{0}" conflict with "--help"').format(
alternative_name
)
raise DictConsistencyError(msg, 202, variable.xmlfiles) raise DictConsistencyError(msg, 202, variable.xmlfiles)
if all_letters in self.alternative_names: if all_letters in self.alternative_names:
msg = _( msg = _('conflict alternative_name "{0}": "{1}" and "{2}"').format(
'conflict alternative_name "{0}": "{1}" and "{2}"' alternative_name, variable_path, self.alternative_names[all_letters]
).format(alternative_name, variable_path, self.alternative_names[all_letters]) )
raise DictConsistencyError(msg, 202, variable.xmlfiles) raise DictConsistencyError(msg, 202, variable.xmlfiles)
self.alternative_names[alternative_name] = variable_path self.alternative_names[alternative_name] = variable_path

View file

@ -114,9 +114,9 @@ def get_jinja_variable_to_param(
for g in parsed_content.find_all(Getattr): for g in parsed_content.find_all(Getattr):
variables.add(recurse_getattr(g)) variables.add(recurse_getattr(g))
except TemplateSyntaxError as err: except TemplateSyntaxError as err:
msg = _( msg = _('error in jinja "{0}" for the variable "{1}": {2}').format(
'error in jinja "{0}" for the variable "{1}": {2}' jinja_text, current_path, err
).format(jinja_text, current_path, err) )
raise DictConsistencyError(msg, 39, xmlfiles) from err raise DictConsistencyError(msg, 39, xmlfiles) from err
variables = list(variables) variables = list(variables)
variables.sort(reverse=True) variables.sort(reverse=True)