diff --git a/README.fr.md b/README.fr.md
new file mode 100644
index 0000000..b8c1979
--- /dev/null
+++ b/README.fr.md
@@ -0,0 +1,27 @@
+---
+gitea: none
+include_toc: true
+---
+[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
+
+## Options de la ligne de commande
+
+> [!NOTE]
+>
+> **Chemin** : cli
+
+| Variable | Description | Valeur par défaut | Type | Contrôle des accès | Validateur |
+|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
+| **cli.config_file**
**Variable d'environnement** : CLI.CONFIG_FILE | Charger les paramètres de la ligne de commande depuis un fichier. | • .rougailcli.yml | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | | • le nom de fichier peut être une chemin relatif
• type de fichier autorisé: "fichier" et "répertoire". |
+| **cli.debug**
**Ligne de commande** :
• --cli.debug
• --cli.no-debug
**Variable d'environnement** : CLI.DEBUG | Afficher les informations de debug. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
+| **cli.warnings**
**Ligne de commande** :
• --cli.warnings
• --cli.no-warnings
**Variable d'environnement** : CLI.WARNINGS | Afficher les avertissements de chargement des options de la ligne de commande. | true | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
+| **cli.versions**
**Ligne de commande** :
• --cli.versions
• --cli.no-versions
**Variable d'environnement** : CLI.VERSIONS | Afficher la version de Rougail et de tous ces composants. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
+| **cli.invalid_user_data_error**
**Ligne de commande** :
• --cli.invalid_user_data_error
• --cli.no-invalid_user_data_error
**Variable d'environnement** : CLI.INVALID_USER_DATA_ERROR | Les valeurs invalides dans les données utilisateur ne sont pas autorisées. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
+| **cli.unknown_user_data_error**
**Ligne de commande** :
• --cli.unknown_user_data_error
• --cli.no-unknown_user_data_error
**Variable d'environnement** : CLI.UNKNOWN_USER_DATA_ERROR | Les variables inconnues dans les données utilisateur ne sont pas autorisées. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
+| **cli.layers**
**Ligne de commande** :
• --cli.layers
• --cli.no-layers
**Variable d'environnement** : CLI.LAYERS | Charger chaque données utilisateurs dans des couches séparées. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | *`cachée`*
**Cachée** : si seulement un type de données utilisateur est renseigné dans "[Sélection pour données utilisateur](#step.user_data)" | |
+| **cli.read_write**
**Ligne de commande** :
• --cli.read_write
• --cli.no-read_write
**Variable d'environnement** : CLI.READ_WRITE | La configuration dans l'état de sortie est dans mode lecture-écriture. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
+| **cli.description_type**
**Ligne de commande** : --cli.description_type
**Variable d'environnement** : CLI.DESCRIPTION_TYPE | Type de description des variables.
Pour identifier les différentes variables, on utilise la description de la variable. Il y a quatre type de descriptions:
- name_and_description : qui contient le nom de la variable suivi de sa description - path : le chemin de la variable - name : le nom de la variable - description : la description de la variable. | description | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | **Choix** :
• name_and_description
• path
• name
• description |
+| **cli.inaccessible_read_write_modes**
**Ligne de commande** : --cli.inaccessible_read_write_modes
**Variable d'environnement** : CLI.INACCESSIBLE_READ_WRITE_MODES | Modes quoi doivent être inaccessible en mode lecture-écriture. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`désactivé`*
**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`
Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
+| **cli.inaccessible_modes**
**Ligne de commande** : --cli.inaccessible_modes
**Variable d'environnement** : CLI.INACCESSIBLE_MODES | Modes quoi doivent être inaccessible. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`désactivé`*
**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`
Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
+
+
diff --git a/README.md b/README.md
index 302b615..8af073d 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,27 @@
-# rougail-cli
+---
+gitea: none
+include_toc: true
+---
+[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
+
+## Command line options
+
+> [!NOTE]
+>
+> **Path**: cli
+
+| Variable | Description | Default value | Type | Access control | Validator |
+|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|
+| **cli.config_file**
**Environment variable**: CLI.CONFIG_FILE | Loads command line parameters from a file. | • .rougailcli.yml | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | | • this filename could be a relative path
• file type allowed: "directory" and "file". |
+| **cli.debug**
**Command line**:
• --cli.debug
• --cli.no-debug
**Environment variable**: CLI.DEBUG | Displays debug informations. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
+| **cli.warnings**
**Command line**:
• --cli.warnings
• --cli.no-warnings
**Environment variable**: CLI.WARNINGS | Displays command line option warnings informations. | true | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
+| **cli.versions**
**Command line**:
• --cli.versions
• --cli.no-versions
**Environment variable**: CLI.VERSIONS | Displays Rougail version and all its components. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
+| **cli.invalid_user_data_error**
**Command line**:
• --cli.invalid_user_data_error
• --cli.no-invalid_user_data_error
**Environment variable**: CLI.INVALID_USER_DATA_ERROR | Invalid value in user data is not allowed. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
+| **cli.unknown_user_data_error**
**Command line**:
• --cli.unknown_user_data_error
• --cli.no-unknown_user_data_error
**Environment variable**: CLI.UNKNOWN_USER_DATA_ERROR | Unknown variable in user data is not allowed. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
+| **cli.layers**
**Command line**:
• --cli.layers
• --cli.no-layers
**Environment variable**: CLI.LAYERS | Open each user data in separate layers. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | *`hidden`*
**Hidden**: if only one user data is set in "[Select for user datas](#step.user_data)" | |
+| **cli.read_write**
**Command line**:
• --cli.read_write
• --cli.no-read_write
**Environment variable**: CLI.READ_WRITE | Configuration in output step is in read_write mode. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
+| **cli.description_type**
**Command line**: --cli.description_type
**Environment variable**: CLI.DESCRIPTION_TYPE | Type of variables description.
To identify different variables, we use the variable description. There are four types of description:
- name_and_description: which contains the variable name followed by its description - path: the variable's path - name: the variable name - description: the variable's description. | description | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | **Choices**:
• name_and_description
• path
• name
• description |
+| **cli.inaccessible_read_write_modes**
**Command line**: --cli.inaccessible_read_write_modes
**Environment variable**: CLI.INACCESSIBLE_READ_WRITE_MODES | Modes that should not be accessible in read_write mode. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`disabled`*
**Disabled**: if any mode is set in "[All modes level available](#modes_level)" | `unique`
Mode must exists in "[All modes level available](#modes_level)". |
+| **cli.inaccessible_modes**
**Command line**: --cli.inaccessible_modes
**Environment variable**: CLI.INACCESSIBLE_MODES | Modes that should not be accessible. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`disabled`*
**Disabled**: if any mode is set in "[All modes level available](#modes_level)" | `unique`
Mode must exists in "[All modes level available](#modes_level)". |
+
diff --git a/locale/fr/LC_MESSAGES/rougail_cli.po b/locale/fr/LC_MESSAGES/rougail_cli.po
index 800fee5..e0181cd 100644
--- a/locale/fr/LC_MESSAGES/rougail_cli.po
+++ b/locale/fr/LC_MESSAGES/rougail_cli.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2025-05-14 08:22+0200\n"
-"PO-Revision-Date: 2025-05-14 08:22+0200\n"
+"POT-Creation-Date: 2025-12-22 15:24+0100\n"
+"PO-Revision-Date: 2025-12-22 15:28+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@@ -14,17 +14,25 @@ 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.8\n"
-#: src/rougail/cli/__main__.py:170
+#: src/rougail/cli/__main__.py:237
msgid "cannot find \"user_data\" module \"{0}\""
msgstr "ne peut trouve le module \"user_data\" \"{0}\""
-#: src/rougail/cli/__main__.py:214
+#: src/rougail/cli/__main__.py:245
+msgid ""
+"interactive user data \"{0}\" is loader before uninteractive user data "
+"\"{1}\""
+msgstr ""
+"Les données utilisateur interactifs \"{0}\" sont chargées avant les données "
+"utilisateur non interactif \"{1}\""
+
+#: src/rougail/cli/__main__.py:281
msgid "cannot find cli file for \"output_name\" module \"{0}\""
msgstr "ne peut trouve le fichier cli pour le module \"output_name\" \"{0}\""
-#: src/rougail/cli/__main__.py:240
+#: src/rougail/cli/__main__.py:306
msgid "ERROR: {0}"
msgstr "ERREUR : {0}"
@@ -40,14 +48,79 @@ msgstr "Charger les paramètres de la ligne de commande depuis un fichier"
msgid "Displays debug informations"
msgstr "Afficher les informations de debug"
-#: src/rougail/cli/config.py:43
+#: src/rougail/cli/config.py:41
msgid "Displays command line option warnings informations"
-msgstr "Afficher les avertissements de chargement des options de la ligne de commande"
+msgstr ""
+"Afficher les avertissements de chargement des options de la ligne de commande"
-#: src/rougail/cli/config.py:47
+#: src/rougail/cli/config.py:43
msgid "Displays Rougail version and all its components"
msgstr "Afficher la version de Rougail et de tous ces composants"
+#: src/rougail/cli/config.py:45
+msgid "Invalid value in user data is not allowed"
+msgstr ""
+"Les valeurs invalides dans les données utilisateur ne sont pas autorisées"
+
+#: src/rougail/cli/config.py:47
+msgid "Unknown variable in user data is not allowed"
+msgstr ""
+"Les variables inconnues dans les données utilisateur ne sont pas autorisées"
+
+#: src/rougail/cli/config.py:50
+msgid "Open each user data in separate layers"
+msgstr "Charger chaque données utilisateurs dans des couches séparées"
+
+#: src/rougail/cli/config.py:56
+msgid "if only one user data is set in \"__.step.user_data\""
+msgstr ""
+"si seulement un type de données utilisateur est renseigné dans "
+"\"__.step.user_data\""
+
+#: src/rougail/cli/config.py:62
+msgid "Configuration in output step is in read_write mode"
+msgstr "La configuration dans l'état de sortie est dans mode lecture-écriture"
+
+#: src/rougail/cli/config.py:65
+msgid "Type of variables description"
+msgstr "Type de description des variables"
+
+#: src/rougail/cli/config.py:67
+msgid ""
+"To identify different variables, we use the variable description. There are "
+"four types of description:\n"
+"\n"
+" - name_and_description: which contains the variable name followed by "
+"its description\n"
+" - path: the variable's path\n"
+" - name: the variable name\n"
+" - description: the variable's description"
+msgstr ""
+"Pour identifier les différentes variables, on utilise la description de la "
+"variable. Il y a quatre type de descriptions:\n"
+"\n"
+" - name_and_description : qui contient le nom de la variable suivi de sa "
+"description\n"
+" - path : le chemin de la variable\n"
+" - name : le nom de la variable\n"
+" - description : la description de la variable"
+
+#: src/rougail/cli/config.py:81
+msgid "Modes that should not be accessible in read_write mode"
+msgstr "Modes quoi doivent être inaccessible en mode lecture-écriture"
+
+#: src/rougail/cli/config.py:88 src/rougail/cli/config.py:105
+msgid "if any mode is set in \"modes_level\""
+msgstr "si aucun mode n'est défini dans \"modes_level\""
+
+#: src/rougail/cli/config.py:95 src/rougail/cli/config.py:112
+msgid "mode must exists in \"modes_level\""
+msgstr "un mode doit exister dans \"modes_level\""
+
+#: src/rougail/cli/config.py:98
+msgid "Modes that should not be accessible"
+msgstr "Modes quoi doivent ĂŞtre inaccessible"
+
#~ msgid "do not display debug informations"
#~ msgstr "ne pas afficher les informations de debug"
diff --git a/locale/rougail_cli.pot b/locale/rougail_cli.pot
index d192443..2604ae3 100644
--- a/locale/rougail_cli.pot
+++ b/locale/rougail_cli.pot
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-05-14 08:25+0200\n"
+"POT-Creation-Date: 2025-12-22 15:31+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -15,15 +15,19 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
-#: src/rougail/cli/__main__.py:170
+#: src/rougail/cli/__main__.py:237
msgid "cannot find \"user_data\" module \"{0}\""
msgstr ""
-#: src/rougail/cli/__main__.py:214
+#: src/rougail/cli/__main__.py:245
+msgid "interactive user data \"{0}\" is loader before uninteractive user data \"{1}\""
+msgstr ""
+
+#: src/rougail/cli/__main__.py:281
msgid "cannot find cli file for \"output_name\" module \"{0}\""
msgstr ""
-#: src/rougail/cli/__main__.py:240
+#: src/rougail/cli/__main__.py:306
msgid "ERROR: {0}"
msgstr ""
@@ -39,11 +43,61 @@ msgstr ""
msgid "Displays debug informations"
msgstr ""
-#: src/rougail/cli/config.py:43
+#: src/rougail/cli/config.py:41
msgid "Displays command line option warnings informations"
msgstr ""
-#: src/rougail/cli/config.py:47
+#: src/rougail/cli/config.py:43
msgid "Displays Rougail version and all its components"
msgstr ""
+#: src/rougail/cli/config.py:45
+msgid "Invalid value in user data is not allowed"
+msgstr ""
+
+#: src/rougail/cli/config.py:47
+msgid "Unknown variable in user data is not allowed"
+msgstr ""
+
+#: src/rougail/cli/config.py:50
+msgid "Open each user data in separate layers"
+msgstr ""
+
+#: src/rougail/cli/config.py:56
+msgid "if only one user data is set in \"__.step.user_data\""
+msgstr ""
+
+#: src/rougail/cli/config.py:62
+msgid "Configuration in output step is in read_write mode"
+msgstr ""
+
+#: src/rougail/cli/config.py:65
+msgid "Type of variables description"
+msgstr ""
+
+#: src/rougail/cli/config.py:67
+msgid ""
+"To identify different variables, we use the variable description. There are four types of description:\n"
+"\n"
+" - name_and_description: which contains the variable name followed by its description\n"
+" - path: the variable's path\n"
+" - name: the variable name\n"
+" - description: the variable's description"
+msgstr ""
+
+#: src/rougail/cli/config.py:81
+msgid "Modes that should not be accessible in read_write mode"
+msgstr ""
+
+#: src/rougail/cli/config.py:88 src/rougail/cli/config.py:105
+msgid "if any mode is set in \"modes_level\""
+msgstr ""
+
+#: src/rougail/cli/config.py:95 src/rougail/cli/config.py:112
+msgid "mode must exists in \"modes_level\""
+msgstr ""
+
+#: src/rougail/cli/config.py:98
+msgid "Modes that should not be accessible"
+msgstr ""
+
diff --git a/src/rougail/cli/__main__.py b/src/rougail/cli/__main__.py
index 63fd277..0dd2a36 100644
--- a/src/rougail/cli/__main__.py
+++ b/src/rougail/cli/__main__.py
@@ -242,7 +242,7 @@ def load_user_data(rougailconfig):
interactive_user_data.setdefault(layer_name, {})[user_data_name] = rougail_user_data
continue
elif interactive_user_data:
- raise Exception(_(f'interactive user datas "{0}" is loader before uninteractive user datas "{1}"').format(list(interactive_user_data), user_data_name))
+ raise Exception(_('interactive user data "{0}" is loader before uninteractive user data "{1}"').format(list(interactive_user_data), user_data_name))
for ud in rougail_user_data(
subconfig,
rougailconfig=rougailconfig,
diff --git a/src/rougail/cli/config.py b/src/rougail/cli/config.py
index 19f1c53..2c892bb 100644
--- a/src/rougail/cli/config.py
+++ b/src/rougail/cli/config.py
@@ -42,17 +42,18 @@ cli:
versions: false # {_('Displays Rougail version and all its components')}
- invalid_user_data_error: false # {_("Invalid value in user datas is not allowed")}
+ invalid_user_data_error: false # {_("Invalid value in user data is not allowed")}
- unknown_user_data_error: false # {_("Unknown variable in user datas is not allowed")}
+ unknown_user_data_error: false # {_("Unknown variable in user data is not allowed")}
layers:
- description: {_('Open each user datas in separate layers')}
+ description: {_('Open each user data in separate layers')}
default: false
hidden:
jinja: |-
{{{{ __.step.user_data is propertyerror or __.step.user_data | length < 2 }}}}
return_type: boolean
+ description: {_('if only one user data is set in "__.step.user_data"')}
load_config:
default: true
@@ -82,15 +83,16 @@ cli:
mandatory: false
disabled:
jinja: |
- {{% if not modes_level %}}
- No mode
- {{% endif %}}
+ {{{{ not modes_level }}}}
+ return_type: boolean
+ description: {_('if any mode is set in "modes_level"')}
validators:
- type: jinja
jinja: |
{{% if _.inaccessible_read_write_modes not in modes_level %}}
not in modes_level ({{modes_level}})
{{% endif %}}
+ description: {_('mode must exists in "modes_level"')}
inaccessible_modes:
description: {_('Modes that should not be accessible')}
@@ -98,15 +100,16 @@ cli:
mandatory: false
disabled:
jinja: |
- {{% if not modes_level %}}
- No mode
- {{% endif %}}
+ {{{{ not modes_level }}}}
+ return_type: boolean
+ description: {_('if any mode is set in "modes_level"')}
validators:
- type: jinja
jinja: |
{{% if _.inaccessible_modes not in modes_level %}}
not in modes_level ({{modes_level}})
{{% endif %}}
+ description: {_('mode must exists in "modes_level"')}
"""
return {
"options": options,
diff --git a/src/rougail/cli/locale/fr/LC_MESSAGES/rougail_cli.mo b/src/rougail/cli/locale/fr/LC_MESSAGES/rougail_cli.mo
index 0ae6d5c..84363d0 100644
Binary files a/src/rougail/cli/locale/fr/LC_MESSAGES/rougail_cli.mo and b/src/rougail/cli/locale/fr/LC_MESSAGES/rougail_cli.mo differ