fix(36): format 1.0: suffix attribut must works
This commit is contained in:
parent
ad1928bc88
commit
d90a0c0066
3 changed files with 65 additions and 43 deletions
|
@ -5,7 +5,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2024-11-01 11:05+0100\n"
|
||||
"POT-Creation-Date: 2024-11-04 12:04+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -67,19 +67,19 @@ msgstr ""
|
|||
msgid "the variable \"{0}\" has an unvalid default value \"{1}\" should be in {2}"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/convert.py:265
|
||||
#: src/rougail/convert.py:281
|
||||
msgid "A variable or a family located in the \"{0}\" namespace shall not be used in the \"{1}\" namespace"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/convert.py:459
|
||||
#: src/rougail/convert.py:475
|
||||
msgid "unknown type {0} for {1}"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/convert.py:1324
|
||||
#: src/rougail/convert.py:1345
|
||||
msgid "duplicate dictionary file name {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/rougail/convert.py:1371
|
||||
#: src/rougail/convert.py:1392
|
||||
msgid "Cannot execute annotate multiple time"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -162,13 +162,11 @@ class Paths:
|
|||
path = get_realpath(path, identifier_path)
|
||||
dynamic = None
|
||||
# version 1.0
|
||||
if (
|
||||
version == "1.0"
|
||||
and not path in self._data
|
||||
and "{{ identifier }}" not in path
|
||||
):
|
||||
if version == "1.0":
|
||||
if not path in self._data and "{{ suffix }}" not in path:
|
||||
new_path = None
|
||||
current_path = None
|
||||
identifiers = []
|
||||
for name in path.split("."):
|
||||
parent_path = current_path
|
||||
if current_path:
|
||||
|
@ -194,13 +192,31 @@ class Paths:
|
|||
):
|
||||
new_path += "." + name_dynamic
|
||||
break
|
||||
regexp = "^" + name_dynamic.replace("{{ identifier }}", "(.*)")
|
||||
finded = findall(regexp, name)
|
||||
if len(finded) != 1 or not finded[0]:
|
||||
continue
|
||||
if finded[0] == "{{ identifier }}":
|
||||
identifiers.append(None)
|
||||
else:
|
||||
identifiers.append(finded[0])
|
||||
if new_path is None:
|
||||
new_path = name_dynamic
|
||||
else:
|
||||
new_path += "." + name_dynamic
|
||||
parent_path = dynamic_path
|
||||
break
|
||||
else:
|
||||
if new_path:
|
||||
new_path += "." + name
|
||||
else:
|
||||
new_path = name
|
||||
path = new_path
|
||||
if version != "1.0" and not path in self._data:
|
||||
else:
|
||||
identifiers = None
|
||||
if "{{ suffix }}" in path:
|
||||
path = path.replace("{{ suffix }}", "{{ identifier }}")
|
||||
elif not path in self._data:
|
||||
current_path = None
|
||||
parent_path = None
|
||||
new_path = current_path
|
||||
|
@ -632,14 +648,17 @@ class ParserVariable:
|
|||
family_obj["type"] = obj_type = "dynamic"
|
||||
if obj_type == "dynamic":
|
||||
family_is_dynamic = True
|
||||
parent_dynamic = path
|
||||
if "{{ identifier }}" not in name:
|
||||
if "variable" in family_obj:
|
||||
if version == "1.0" and "{{ suffix }}" in name:
|
||||
name = name.replace("{{ suffix }}", "{{ identifier }}")
|
||||
path = path.replace("{{ suffix }}", "{{ identifier }}")
|
||||
elif "variable" in family_obj:
|
||||
name += "{{ identifier }}"
|
||||
path += "{{ identifier }}"
|
||||
else:
|
||||
msg = f'dynamic family name must have "{{{{ identifier }}}}" in his name for "{path}"'
|
||||
raise DictConsistencyError(msg, 13, [filename])
|
||||
parent_dynamic = path
|
||||
if version != "1.0" and not family_obj and comment:
|
||||
family_obj["description"] = comment
|
||||
self.add_family(
|
||||
|
@ -1099,6 +1118,8 @@ class ParserVariable:
|
|||
"type": "any",
|
||||
}
|
||||
else:
|
||||
if version == "1.0" and val["type"] == "suffix":
|
||||
val["type"] = "identifier"
|
||||
param_typ = val["type"]
|
||||
val["key"] = key
|
||||
val["path"] = path
|
||||
|
|
|
@ -687,6 +687,7 @@ CALCULATION_TYPES = {
|
|||
"variable": VariableCalculation,
|
||||
"information": InformationCalculation,
|
||||
"identifier": IdentifierCalculation,
|
||||
"suffix": IdentifierCalculation,
|
||||
"index": IndexCalculation,
|
||||
}
|
||||
CALCULATION_PROPERTY_TYPES = {
|
||||
|
|
Loading…
Reference in a new issue