feat: display error with tree

This commit is contained in:
egarette@silique.fr 2025-10-05 21:36:16 +02:00
parent 0e982a1539
commit 2965ea0be7
256 changed files with 986 additions and 359 deletions

View file

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2025-05-11 10:20+0200\n"
"PO-Revision-Date: 2025-05-11 10:20+0200\n"
"POT-Creation-Date: 2025-10-04 14:49+0200\n"
"PO-Revision-Date: 2025-10-04 14:50+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@ -14,93 +14,93 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 3.7\n"
#: src/rougail/output_console/__init__.py:84
#: src/rougail/output_console/__init__.py:81
msgid "Error in config: {0}"
msgstr "Erreur dans la config : {0}"
#: src/rougail/output_console/__init__.py:99
#: src/rougail/output_console/__init__.py:109
msgid "The following variables are mandatory but have no value:"
msgstr "Les variables suivantes sont obligatoire mais n'ont pas de valeur :"
#: src/rougail/output_console/__init__.py:103
#: src/rougail/output_console/__init__.py:114
msgid "The following variables are inaccessible but are empty and mandatory:"
msgstr ""
"Les variables suivantes sont inaccessibles mais sont vides et obligatoires :"
#: src/rougail/output_console/__init__.py:188
#: src/rougail/output_console/__init__.py:201
msgid "Variable"
msgstr "Variable"
#: src/rougail/output_console/__init__.py:190
#: src/rougail/output_console/__init__.py:203
msgid "Undocumented variable"
msgstr "Variable non documentée"
#: src/rougail/output_console/__init__.py:192
#: src/rougail/output_console/__init__.py:205
msgid "Undocumented but modified variable"
msgstr "Variable non documentée mais modifiée"
#: src/rougail/output_console/__init__.py:194
#: src/rougail/output_console/__init__.py:207
msgid "Unmodifiable variable"
msgstr "Variable non modifiable"
#: src/rougail/output_console/__init__.py:197
#: src/rougail/output_console/__init__.py:210
msgid "Default value"
msgstr "Valeur par défaut"
#: src/rougail/output_console/__init__.py:199
#: src/rougail/output_console/__init__.py:212
msgid "Modified value"
msgstr "Valeur modifiée"
#: src/rougail/output_console/__init__.py:201
#: src/rougail/output_console/__init__.py:214
msgid "Original default value"
msgstr "Valeur par défaut d'origine"
#: src/rougail/output_console/__init__.py:205
#: src/rougail/output_console/__init__.py:218
msgid "Caption"
msgstr "Légende"
#: src/rougail/output_console/__init__.py:212
#: src/rougail/output_console/__init__.py:225
msgid "ERRORS"
msgstr "ERREURS"
#: src/rougail/output_console/__init__.py:227
#: src/rougail/output_console/__init__.py:254
msgid "WARNINGS"
msgstr "AVERTISSEMENTS"
#: src/rougail/output_console/__init__.py:238
#: src/rougail/output_console/__init__.py:265
msgid "Variables:"
msgstr "Variables :"
#: src/rougail/output_console/__init__.py:261
#: src/rougail/output_console/__init__.py:379
#: src/rougail/output_console/__init__.py:296
#: src/rougail/output_console/__init__.py:416
msgid "{0}:"
msgstr "{0} :"
#: src/rougail/output_console/__init__.py:385
#: src/rougail/output_console/__init__.py:422
msgid "{0}: {1}"
msgstr "{0} : {1}"
#: src/rougail/output_console/config.py:30
msgid "Configuration rougail-console"
msgid "Configuration for rougail-console"
msgstr "Configuration de rougail-console"
#: src/rougail/output_console/config.py:37
msgid "Display variables available in read_write mode"
msgstr "Afficher les variables visible dans le mode lecture écriture"
#: src/rougail/output_console/config.py:39
msgid "Show secrets instead of obscuring them"
msgstr "Voir les secrets plutôt que de les obscurcir"
#: src/rougail/output_console/config.py:41
msgid "Test mandatories variable before display in console"
msgstr "Test les variables obligatoires avant des les afficher dans la console"
#: src/rougail/output_console/config.py:40
msgid "test mandatories variables before display in console"
msgstr ""
"Test les variables obligatoires avant des les afficher dans la console"
#: src/rougail/output_console/config.py:43
#: src/rougail/output_console/config.py:50
msgid ""
"In tree the key is the family or variable description inside of it's name"
msgstr ""
"Dans l'arborescence la clé est la description de la famille ou de la "
"variable au lieux de son nom"
#~ msgid "Display variables available in read_write mode"
#~ msgstr "Afficher les variables visible dans le mode lecture écriture"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-05-12 08:39+0200\n"
"POT-Creation-Date: 2025-10-04 14:50+0200\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"
@ -15,88 +15,84 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
#: src/rougail/output_console/__init__.py:84
#: src/rougail/output_console/__init__.py:81
msgid "Error in config: {0}"
msgstr ""
#: src/rougail/output_console/__init__.py:100
#: src/rougail/output_console/__init__.py:109
msgid "The following variables are mandatory but have no value:"
msgstr ""
#: src/rougail/output_console/__init__.py:105
#: src/rougail/output_console/__init__.py:114
msgid "The following variables are inaccessible but are empty and mandatory:"
msgstr ""
#: src/rougail/output_console/__init__.py:192
#: src/rougail/output_console/__init__.py:201
msgid "Variable"
msgstr ""
#: src/rougail/output_console/__init__.py:194
#: src/rougail/output_console/__init__.py:203
msgid "Undocumented variable"
msgstr ""
#: src/rougail/output_console/__init__.py:196
#: src/rougail/output_console/__init__.py:205
msgid "Undocumented but modified variable"
msgstr ""
#: src/rougail/output_console/__init__.py:198
#: src/rougail/output_console/__init__.py:207
msgid "Unmodifiable variable"
msgstr ""
#: src/rougail/output_console/__init__.py:201
#: src/rougail/output_console/__init__.py:210
msgid "Default value"
msgstr ""
#: src/rougail/output_console/__init__.py:203
#: src/rougail/output_console/__init__.py:212
msgid "Modified value"
msgstr ""
#: src/rougail/output_console/__init__.py:205
#: src/rougail/output_console/__init__.py:214
msgid "Original default value"
msgstr ""
#: src/rougail/output_console/__init__.py:209
#: src/rougail/output_console/__init__.py:218
msgid "Caption"
msgstr ""
#: src/rougail/output_console/__init__.py:216
#: src/rougail/output_console/__init__.py:225
msgid "ERRORS"
msgstr ""
#: src/rougail/output_console/__init__.py:232
#: src/rougail/output_console/__init__.py:254
msgid "WARNINGS"
msgstr ""
#: src/rougail/output_console/__init__.py:243
#: src/rougail/output_console/__init__.py:265
msgid "Variables:"
msgstr ""
#: src/rougail/output_console/__init__.py:274
#: src/rougail/output_console/__init__.py:394
#: src/rougail/output_console/__init__.py:296
#: src/rougail/output_console/__init__.py:416
msgid "{0}:"
msgstr ""
#: src/rougail/output_console/__init__.py:400
#: src/rougail/output_console/__init__.py:422
msgid "{0}: {1}"
msgstr ""
#: src/rougail/output_console/config.py:30
msgid "Configuration rougail-console"
msgid "Configuration for rougail-console"
msgstr ""
#: src/rougail/output_console/config.py:37
msgid "Display variables available in read_write mode"
msgstr ""
#: src/rougail/output_console/config.py:39
msgid "Show secrets instead of obscuring them"
msgstr ""
#: src/rougail/output_console/config.py:41
msgid "Test mandatories variable before display in console"
#: src/rougail/output_console/config.py:40
msgid "test mandatories variables before display in console"
msgstr ""
#: src/rougail/output_console/config.py:43
#: src/rougail/output_console/config.py:50
msgid "In tree the key is the family or variable description inside of it's name"
msgstr ""

View file

@ -84,14 +84,26 @@ class RougailOutputConsole:
self.errors.append(str(err))
return
options_with_error = []
options = []
if mandatories:
for option in mandatories:
try:
option.value.get()
options.append(option.description())
except PropertiesOptionError:
options_with_error.append(option)
options = {}
for option in mandatories:
try:
option.value.get()
except PropertiesOptionError:
options_with_error.append(option)
else:
parent = self.config
current_options = options
for child_path in option.path().split('.'):
child = parent.option(child_path)
description = child.description(uncalculated=True)
if child.isdynamic() and "{{ identifier }}" in description:
description = description.replace('{{ identifier }}', child.identifiers()[-1])
if child.isoptiondescription():
current_options = current_options.setdefault(description, {})
parent = child
else:
current_options.setdefault(None, []).append(description)
if options:
self.errors.append(
_("The following variables are mandatory but have no value:")
@ -114,6 +126,7 @@ class RougailOutputConsole:
warnings = self.user_data_warnings + self.warnings
if warnings:
self.display_warnings(warnings)
errors = self.user_data_errors + self.errors
if errors:
self.display_errors(errors)
@ -212,14 +225,27 @@ class RougailOutputConsole:
f"[bold][bright_red]:stop_sign: {_('ERRORS')}[/bright_red][/bold]",
guide_style="bold bright_red",
)
sub_tree = tree
for error in errors:
if isinstance(error, list):
for err in error:
previous_tree.add(err)
else:
previous_tree = tree.add(error)
sub_tree = self.display_error(sub_tree, error)
self.out.append(tree)
def display_error(self, tree, error):
if isinstance(error, list):
for err in error:
self.display_error(tree, err)
return tree
elif isinstance(error, dict):
for key, value in error.items():
if key is None:
# it's variables, no more families
self.display_error(tree, value)
else:
sub_tree = self.display_error(tree, key)
self.display_error(sub_tree, value)
else:
return tree.add(error)
def display_warnings(
self,
warnings: list,
@ -319,6 +345,7 @@ class OutputFamily:
def add_variable(
self, option, value: Any = undefined, leader_index: Optional[int] = None
):
# value is undefined but not for leader variable
properties = option.property.get()
variable_color = None
if option.owner.isdefault():
@ -406,7 +433,6 @@ class OutputFamily:
if isinstance(value, list):
if default_value is None:
default_value = []
# default_value = [self.convert_value(option, val) for val in default_value]
len_value = len(value)
len_default_value = len(default_value)
len_values = max(len_value, len_default_value)
@ -467,9 +493,6 @@ class OutputFamily:
option,
value: Any,
) -> str:
if isinstance(value, list):
print(value)
raise Exception("pfff")
"""Dump variable, means transform bool, ... to yaml string"""
if not self.root.show_secrets and option.type() == "password":
return "*" * 10

View file

@ -37,7 +37,7 @@ console:
show_secrets: false # {_('Show secrets instead of obscuring them')}
mandatory:
description: {_('test mandatories variables before display in json')}
description: {_('test mandatories variables before display in console')}
type: boolean
default:
jinja: |-

View file

@ -0,0 +1,6 @@
╭───────────── Caption ─────────────╮
│ Variable Modified value │
(Original default value)
╰───────────────────────────────────╯
Variables:
┗━━ 📓 condition: true (true - loaded from rougail-test)

View file

@ -0,0 +1,7 @@
╭────────────── Caption ───────────────╮
│ Variable Default value │
Unmodifiable variable Modified value │
╰──────────────────────────────────────╯
Variables:
┣━━ 📓 condition: false
┗━━ 📓 variable: string1 (loaded from rougail-test)

View file

@ -0,0 +1,5 @@
╭──────── Caption ────────╮
│ Variable Modified value │
╰─────────────────────────╯
Variables:
┗━━ 📓 variable: string1 (loaded from rougail-test)

View file

@ -0,0 +1,6 @@
╭───────────── Caption ─────────────╮
│ Variable Modified value │
(Original default value)
╰───────────────────────────────────╯
Variables:
┗━━ 📓 condition: true (false - loaded from rougail-test)

View file

@ -0,0 +1,5 @@
╭────────────── Caption ──────────────╮
Unmodifiable variable Default value │
╰─────────────────────────────────────╯
Variables:
┗━━ 📓 condition: true

View file

@ -0,0 +1,5 @@
╭──────── Caption ────────╮
│ Variable Modified value │
╰─────────────────────────╯
Variables:
┗━━ 📓 variable: string1 (loaded from rougail-test)

View file

@ -0,0 +1,7 @@
╭───────────── Caption ─────────────╮
│ Variable Modified value │
(Original default value)
╰───────────────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a condition: true (true - loaded from rougail-test)

View file

@ -0,0 +1,8 @@
╭────────────── Caption ───────────────╮
│ Variable Default value │
Unmodifiable variable Modified value │
╰──────────────────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┣━━ 📓 a condition: false
 ┗━━ 📓 a variable: string1 (loaded from rougail-test)

View file

@ -0,0 +1,6 @@
╭──────── Caption ────────╮
│ Variable Modified value │
╰─────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a variable: string1 (loaded from rougail-test)

View file

@ -0,0 +1,7 @@
╭───────────── Caption ─────────────╮
│ Variable Modified value │
(Original default value)
╰───────────────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a condition: true (false - loaded from rougail-test)

View file

@ -0,0 +1,7 @@
╭────────────── Caption ──────────────╮
│ Variable Default value │
Unmodifiable variable │
╰─────────────────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a condition: true

View file

@ -0,0 +1,6 @@
╭──────── Caption ────────╮
│ Variable Modified value │
╰─────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a variable: string1 (loaded from rougail-test)

View file

@ -0,0 +1,6 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a condition: true

View file

@ -0,0 +1,6 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a variable:

View file

@ -0,0 +1,6 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a variable:

View file

@ -0,0 +1,7 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┣━━ 📓 a condition: false
 ┗━━ 📓 a variable:

View file

@ -0,0 +1,5 @@
╭─ Caption ─╮
│ Variab… │
╰───────────╯
Variables:
┗━━ 📂 Rougail

View file

@ -0,0 +1,6 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a variable:

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.version (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.empty
 ┗━━ Rougail
  ┗━━ empty

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,5 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┣━━ rougail.var2 (a second variable)
 ┗━━ rougail.var3 (a new variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┣━━ a second variable
  ┗━━ a new variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a variable)
 ┗━━ rougail.var2 (a variable)
 ┗━━ Rougail
  ┣━━ a variable
  ┗━━ a variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┗━━ rougail.var2 (the second variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┗━━ the second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┗━━ rougail.var2 (the second variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┗━━ the second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.custom1 (the first variable)
 ┗━━ Rougail
  ┗━━ the first variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable1 (a port variable)
 ┗━━ Rougail
  ┗━━ a port variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.secret1 (the first variable)
 ┗━━ Rougail
  ┗━━ the first variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.secret1 (the first variable)
 ┗━━ Rougail
  ┗━━ the first variable

View file

@ -1,5 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┣━━ rougail.var2 (the second variable)
 ┗━━ rougail.var3 (the third variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┣━━ the second variable
  ┗━━ the third variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┗━━ rougail.var2 (the second variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┗━━ the second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┗━━ rougail.var2 (the second variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┗━━ the second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first <variable>)
 ┗━━ rougail.var2 (the second <variable>)
 ┗━━ Rougail
  ┣━━ the first <variable>
  ┗━━ the second <variable>

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,5 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┣━━ rougail.var3 (the third variable)
 ┗━━ rougail.var6 (the sixth variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┣━━ the third variable
  ┗━━ the sixth variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable1 (a first variable)
 ┗━━ Rougail
  ┗━━ a first variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.my_calculated_variable
 ┗━━ Rougail
  ┗━━ my_calculated_variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (a first variable)
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.custom1 (a first custom variable)
 ┗━━ Rougail
  ┗━━ a first custom variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var1 (the second variable)
 ┗━━ Rougail
  ┗━━ the second variable

View file

@ -1,5 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.var1 (the first variable)
 ┣━━ rougail.var2 (the second variable)
 ┗━━ rougail.var3 (the third variable)
 ┗━━ Rougail
  ┣━━ the first variable
  ┣━━ the second variable
  ┗━━ the third variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable2 (a second variable)
 ┗━━ Rougail
  ┗━━ a second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┗━━ a second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var3 (a third variable)
 ┗━━ Rougail
  ┗━━ a third variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.variable1 (a first variable)
 ┗━━ rougail.variable2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,4 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.variable1 (a first variable)
 ┗━━ rougail.variable2 (a second variable)
 ┗━━ Rougail
  ┣━━ a first variable
  ┗━━ a second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -0,0 +1,6 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📂 Rougail
 ┗━━ 📓 a condition: true

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -0,0 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -0,0 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -0,0 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -0,0 +1,5 @@
╭─ Caption ─╮
│ Variab… │
╰───────────╯
Variables:
┗━━ 📂 Rougail

View file

@ -0,0 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.int (An integer)
 ┗━━ Rougail
  ┗━━ An integer

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var (Redefined)
 ┗━━ Rougail
  ┗━━ Redefined

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.var1
 ┗━━ Rougail
  ┗━━ family
   ┗━━ var1

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.variable (a variable)
 ┗━━ Rougail
  ┗━━ new description
   ┗━━ a variable

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.variable (redefine help)
 ┗━━ Rougail
  ┗━━ a family
   ┗━━ redefine help

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.variable (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var3 (a third variable)
 ┗━━ Rougail
  ┗━━ a third variable

View file

@ -1,4 +1,7 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.family1.variable1 (a variable)
 ┗━━ rougail.family2.variable2 (a second variable)
 ┗━━ Rougail
  ┣━━ new description
  ┃ ┗━━ a variable
  ┗━━ a second family
   ┗━━ a second variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var (Description)
 ┗━━ Rougail
  ┗━━ Description

View file

@ -1,4 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.family.var1 (The first variable)
 ┗━━ rougail.family.var2 (The second variable)
 ┗━━ Rougail
  ┗━━ A family
   ┣━━ The first variable
   ┗━━ The second variable

View file

@ -1,3 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.subfamily.variable (a variable)
 ┗━━ Rougail
  ┗━━ a family
   ┗━━ a sub family
    ┗━━ a variable

View file

@ -1,6 +1,9 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.variable (a variable)
 ┣━━ rougail.family.variable1 (a first variable)
 ┣━━ rougail.family.subfamily.variable (a variable)
 ┗━━ rougail.family.variable2 (a second variable)
 ┗━━ Rougail
  ┣━━ a variable
  ┗━━ a family
   ┣━━ a first variable
   ┣━━ a second variable
   ┗━━ a sub family
    ┗━━ a variable

View file

@ -1,4 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.family.var1 (a first variable)
 ┗━━ rougail.family.var2 (a second variable)
 ┗━━ Rougail
  ┗━━ family
   ┣━━ a first variable
   ┗━━ a second variable

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.var1 (a variable)
 ┗━━ Rougail
  ┗━━ possibly hidden family
   ┗━━ a variable

View file

@ -1,3 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.subfamily.var1 (a variable)
 ┗━━ Rougail
  ┗━━ possibly hidden family
   ┗━━ subfamily
    ┗━━ a variable

View file

@ -1,3 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.family.sub_family.var1 (a variable)
 ┗━━ Rougail
  ┗━━ possibly hidden family
   ┗━━ a subfamily
    ┗━━ a variable

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var (a variable)
 ┗━━ Rougail
  ┗━━ a variable

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.general.int (a first integer)
 ┗━━ Rougail
  ┗━━ a family
   ┗━━ a first integer

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leader.leader (a leader)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ a leader

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leadership.leader (a leader)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ a leader

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leader.leader (a leader)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ a leader

View file

@ -1,3 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.general1.leader.leader
 ┗━━ Rougail
  ┗━━ general1
   ┗━━ leader
    ┗━━ leader

View file

@ -1,5 +1,7 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.leadership.follower (a follower)
 ┣━━ rougail.leadership.follower (a follower)
 ┗━━ rougail.leadership.follower (a follower)
 ┗━━ Rougail
  ┗━━ a leadership
   ┣━━ a follower
   ┣━━ a follower
   ┗━━ a follower

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leader.leader (the leader)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ the leader

View file

@ -1,6 +1,8 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.leader.follower1 (a first follower)
 ┣━━ rougail.leader.follower2 (a second follower)
 ┣━━ rougail.leader.follower1 (a first follower)
 ┗━━ rougail.leader.follower2 (a second follower)
 ┗━━ Rougail
  ┗━━ a leadership
   ┣━━ a first follower
   ┣━━ a second follower
   ┣━━ a first follower
   ┗━━ a second follower

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leadership.leader (The leader)
 ┗━━ Rougail
  ┗━━ A leadership
   ┗━━ The leader

View file

@ -1,3 +1,4 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.var2 (a second variable)
 ┗━━ Rougail
  ┗━━ a second variable

View file

@ -1,5 +1,8 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.leadership_1.follower (a follower)
 ┣━━ rougail.leadership_1.follower (a follower)
 ┗━━ rougail.leadership_2.leader (a leader)
 ┗━━ Rougail
  ┣━━ a leadership
  ┃ ┣━━ a follower
  ┃ ┗━━ a follower
  ┗━━ a second leadership
   ┗━━ a leader

View file

@ -1,4 +1,6 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┣━━ rougail.leadership_1.follower (a follower)
 ┗━━ rougail.leadership_1.follower (a follower)
 ┗━━ Rougail
  ┗━━ a leadership
   ┣━━ a follower
   ┗━━ a follower

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leader.follower (a follower)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ a follower

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leader.leader (a leader)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ a leader

View file

@ -1,3 +1,5 @@
🛑 ERRORS
┗━━ The following variables are mandatory but have no value:
 ┗━━ rougail.leader.leader (a leader)
 ┗━━ Rougail
  ┗━━ a leadership
   ┗━━ a leader

Some files were not shown because too many files have changed in this diff Show more