feat: add cli.root option to limit output from a specified family

This commit is contained in:
egarette@silique.fr 2026-01-04 19:13:34 +01:00
parent 72031b9880
commit 09f2e51c3c
7 changed files with 123 additions and 62 deletions

View file

@ -11,20 +11,21 @@ include_toc: true
> Il est possible d'utiliser Rougail directement en ligne de commande. Il est possible de définir et configurer facilement les données utilisateur chargées, ainsi que la définition de la sortie souhaité.\
> **Chemin** : cli
| Variable | Description | Valeur par défaut | Type | Contrôle des accès | Validateur |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="cli.config_file" name="cli.config_file">cli.config_file</a>**<br/>**Variable d'environnement** : CLI.CONFIG_FILE | Charger les paramètres de la ligne de commande depuis un fichier. | •&nbsp;.rougailcli.yml | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | | •&nbsp;le nom de fichier peut être une chemin relatif<br/>&nbsp;type de fichier autorisé: "fichier" et "répertoire". |
| **<a id="cli.debug" name="cli.debug">cli.debug</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.debug<br/>&nbsp;--cli.no-debug<br/>**Variable d'environnement** : CLI.DEBUG | Afficher les informations de debug. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
| **<a id="cli.warnings" name="cli.warnings">cli.warnings</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.warnings<br/>&nbsp;--cli.no-warnings<br/>**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` | | |
| **<a id="cli.versions" name="cli.versions">cli.versions</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.versions<br/>&nbsp;--cli.no-versions<br/>**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` | | |
| **<a id="cli.invalid_user_data_error" name="cli.invalid_user_data_error">cli.invalid_user_data_error</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.invalid_user_data_error<br/>&nbsp;--cli.no-invalid_user_data_error<br/>**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` | | |
| **<a id="cli.unknown_user_data_error" name="cli.unknown_user_data_error">cli.unknown_user_data_error</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.unknown_user_data_error<br/>&nbsp;--cli.no-unknown_user_data_error<br/>**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` | | |
| **<a id="cli.layers" name="cli.layers">cli.layers</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.layers<br/>&nbsp;--cli.no-layers<br/>**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`*<br/>**Cachée** : si seulement un type de données utilisateur est renseigné dans "[Sélection pour données utilisateur](#step.user_data)" | |
| **<a id="cli.load_from_tiramisu_cache" name="cli.load_from_tiramisu_cache">cli.load_from_tiramisu_cache</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.load_from_tiramisu_cache<br/>&nbsp;--cli.no-load_from_tiramisu_cache<br/>**Variable d'environnement** : CLI.LOAD_FROM_TIRAMISU_CACHE | Utiliser le cache pour charger les objets Tiramisu.<br/>Il sera chargé à partir du cache uniquement si celui-ci existe déjà. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | *`désactivé`*<br/>**Désactivé** : lorsque la variable "[Enregistrer le cache Tiramisu dans le fichier](#tiramisu_cache)" a la valeur "null" | |
| **<a id="cli.read_write" name="cli.read_write">cli.read_write</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.read_write<br/>&nbsp;--cli.no-read_write<br/>**Variable d'environnement** : CLI.READ_WRITE | La configuration dans l&#x27;état de sortie est dans mode lecture-écriture. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
| **<a id="cli.description_type" name="cli.description_type">cli.description_type</a>**<br/>**Ligne de commande** : <br/>--cli.description_type<br/>**Variable d'environnement** : CLI.DESCRIPTION_TYPE | Type de description des variables.<br/>Pour identifier les différentes variables, on utilise la description de la variable. Il y a quatre type de descriptions:<br/>- 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** : <br/>&nbsp;path_and_description<br/>&nbsp;name_and_description<br/>&nbsp;path<br/>&nbsp;name<br/>&nbsp;description |
| **<a id="cli.inaccessible_read_only_modes" name="cli.inaccessible_read_only_modes">cli.inaccessible_read_only_modes</a>**<br/>**Ligne de commande** : <br/>--cli.inaccessible_read_only_modes<br/>**Variable d'environnement** : CLI.INACCESSIBLE_READ_ONLY_MODES | Modes quoi doivent être inaccessible en mode lecture seule. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`désactivé`*<br/>**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`<br/>Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
| **<a id="cli.inaccessible_read_write_modes" name="cli.inaccessible_read_write_modes">cli.inaccessible_read_write_modes</a>**<br/>**Ligne de commande** : <br/>--cli.inaccessible_read_write_modes<br/>**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é`*<br/>**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`<br/>Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
| **<a id="cli.inaccessible_modes" name="cli.inaccessible_modes">cli.inaccessible_modes</a>**<br/>**Ligne de commande** : <br/>--cli.inaccessible_modes<br/>**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é`*<br/>**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`<br/>Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
| Variable | Description | Valeur par défaut | Type | Contrôle des accès | Validateur |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="cli.config_file" name="cli.config_file">cli.config_file</a>**<br/>**Variable d'environnement** : CLI.CONFIG_FILE | Charger les paramètres de la ligne de commande depuis un fichier. | •&nbsp;.rougailcli.yml | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | | •&nbsp;le nom de fichier peut être une chemin relatif<br/>&nbsp;type de fichier autorisé: "fichier" et "répertoire". |
| **<a id="cli.debug" name="cli.debug">cli.debug</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.debug<br/>&nbsp;--cli.no-debug<br/>**Variable d'environnement** : CLI.DEBUG | Afficher les informations de debug. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
| **<a id="cli.warnings" name="cli.warnings">cli.warnings</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.warnings<br/>&nbsp;--cli.no-warnings<br/>**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` | | |
| **<a id="cli.versions" name="cli.versions">cli.versions</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.versions<br/>&nbsp;--cli.no-versions<br/>**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` | | |
| **<a id="cli.invalid_user_data_error" name="cli.invalid_user_data_error">cli.invalid_user_data_error</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.invalid_user_data_error<br/>&nbsp;--cli.no-invalid_user_data_error<br/>**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` | | |
| **<a id="cli.unknown_user_data_error" name="cli.unknown_user_data_error">cli.unknown_user_data_error</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.unknown_user_data_error<br/>&nbsp;--cli.no-unknown_user_data_error<br/>**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` | | |
| **<a id="cli.layers" name="cli.layers">cli.layers</a>**<br/>**Ligne de commande** : <br/>&nbsp;-cl, --cli.layers<br/>&nbsp;-ncl, --cli.no-layers<br/>**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`*<br/>**Cachée** : si seulement un type de données utilisateur est renseigné dans "[Sélection pour données utilisateur](#step.user_data)" | |
| **<a id="cli.load_from_tiramisu_cache" name="cli.load_from_tiramisu_cache">cli.load_from_tiramisu_cache</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.load_from_tiramisu_cache<br/>&nbsp;--cli.no-load_from_tiramisu_cache<br/>**Variable d'environnement** : CLI.LOAD_FROM_TIRAMISU_CACHE | Utiliser le cache pour charger les objets Tiramisu.<br/>Il sera chargé à partir du cache uniquement si celui-ci existe déjà.<br/><br/>Attention, certain données utilisateur ou sortie peuvent changer la manière dont sont chargés les fichiers de structure (c&#x27;est notamment le cas avec la sortie doc). Il est préférable de n&#x27;utiliser le cache pour le même type de données utilisateur et sortie. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | *`désactivé`*<br/>**Désactivé** : lorsque la variable "[Enregistrer le cache Tiramisu dans le fichier](#tiramisu_cache)" a la valeur "null" | |
| **<a id="cli.root" name="cli.root">cli.root</a>**<br/>**Ligne de commande** : <br/>-cr, --cli.root<br/>**Variable d'environnement** : CLI.ROOT | Utiliser la sortie uniquement pour les variables enfants de la famille.<br/>Par défaut, toutes les variables accessible sont inclus dans la sortie. Il est possible de définir la famille a partir de laquelle la sortie devra être générée. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) | | |
| **<a id="cli.read_write" name="cli.read_write">cli.read_write</a>**<br/>**Ligne de commande** : <br/>&nbsp;--cli.read_write<br/>&nbsp;--cli.no-read_write<br/>**Variable d'environnement** : CLI.READ_WRITE | La configuration dans l&#x27;état de sortie est dans mode lecture-écriture. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` | | |
| **<a id="cli.description_type" name="cli.description_type">cli.description_type</a>**<br/>**Ligne de commande** : <br/>-cd, --cli.description_type<br/>**Variable d'environnement** : CLI.DESCRIPTION_TYPE | Type de description des variables.<br/>Pour identifier les différentes variables, on utilise la description de la variable. Il y a quatre type de descriptions:<br/>- 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** : <br/>&nbsp;path_and_description<br/>&nbsp;name_and_description<br/>&nbsp;path<br/>&nbsp;name<br/>&nbsp;description |
| **<a id="cli.inaccessible_read_only_modes" name="cli.inaccessible_read_only_modes">cli.inaccessible_read_only_modes</a>**<br/>**Ligne de commande** : <br/>--cli.inaccessible_read_only_modes<br/>**Variable d'environnement** : CLI.INACCESSIBLE_READ_ONLY_MODES | Modes quoi doivent être inaccessible en mode lecture seule. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`désactivé`*<br/>**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`<br/>Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
| **<a id="cli.inaccessible_read_write_modes" name="cli.inaccessible_read_write_modes">cli.inaccessible_read_write_modes</a>**<br/>**Ligne de commande** : <br/>--cli.inaccessible_read_write_modes<br/>**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é`*<br/>**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`<br/>Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |
| **<a id="cli.inaccessible_modes" name="cli.inaccessible_modes">cli.inaccessible_modes</a>**<br/>**Ligne de commande** : <br/>-ci, --cli.inaccessible_modes<br/>**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é`*<br/>**Désactivé** : si aucun mode n'est défini dans "[Tous les niveaux de modes valides](#modes_level)" | `unique`<br/>Un mode doit exister dans "[Tous les niveaux de modes valides](#modes_level)". |

View file

@ -19,12 +19,13 @@ include_toc: true
| **<a id="cli.versions" name="cli.versions">cli.versions</a>**<br/>**Command line**: <br/>&nbsp;--cli.versions<br/>&nbsp;--cli.no-versions<br/>**Environment variable**: CLI.VERSIONS | Displays Rougail version and all its components. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
| **<a id="cli.invalid_user_data_error" name="cli.invalid_user_data_error">cli.invalid_user_data_error</a>**<br/>**Command line**: <br/>&nbsp;--cli.invalid_user_data_error<br/>&nbsp;--cli.no-invalid_user_data_error<br/>**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` | | |
| **<a id="cli.unknown_user_data_error" name="cli.unknown_user_data_error">cli.unknown_user_data_error</a>**<br/>**Command line**: <br/>&nbsp;--cli.unknown_user_data_error<br/>&nbsp;--cli.no-unknown_user_data_error<br/>**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` | | |
| **<a id="cli.layers" name="cli.layers">cli.layers</a>**<br/>**Command line**: <br/>&nbsp;--cli.layers<br/>&nbsp;--cli.no-layers<br/>**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`*<br/>**Hidden**: if only one user data is set in "[Select for user datas](#step.user_data)" | |
| **<a id="cli.load_from_tiramisu_cache" name="cli.load_from_tiramisu_cache">cli.load_from_tiramisu_cache</a>**<br/>**Command line**: <br/>&nbsp;--cli.load_from_tiramisu_cache<br/>&nbsp;--cli.no-load_from_tiramisu_cache<br/>**Environment variable**: CLI.LOAD_FROM_TIRAMISU_CACHE | Use cache for load Tiramisu objects.<br/>It will only be loaded from the cache if it already exists. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | *`disabled`*<br/>**Disabled**: when the variable "[Store Tiramisu cache filename](#tiramisu_cache)" has the value "null" | |
| **<a id="cli.layers" name="cli.layers">cli.layers</a>**<br/>**Command line**: <br/>&nbsp;-cl, --cli.layers<br/>&nbsp;-ncl, --cli.no-layers<br/>**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`*<br/>**Hidden**: if only one user data is set in "[Select for user datas](#step.user_data)" | |
| **<a id="cli.load_from_tiramisu_cache" name="cli.load_from_tiramisu_cache">cli.load_from_tiramisu_cache</a>**<br/>**Command line**: <br/>&nbsp;--cli.load_from_tiramisu_cache<br/>&nbsp;--cli.no-load_from_tiramisu_cache<br/>**Environment variable**: CLI.LOAD_FROM_TIRAMISU_CACHE | Use cache for load Tiramisu objects.<br/>It will only be loaded from the cache if it already exists<br/><br/>Note that certain user data or output can change how structure files are loaded (this is particularly true for the doc output). It is best to use the cache only for the same type of user data and output. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | *`disabled`*<br/>**Disabled**: when the variable "[Store Tiramisu cache filename](#tiramisu_cache)" has the value "null" | |
| **<a id="cli.root" name="cli.root">cli.root</a>**<br/>**Command line**: <br/>-cr, --cli.root<br/>**Environment variable**: CLI.ROOT | Use output only for the children variables of the family.<br/>By default, all accessible variables are included in output. It is possible to define the family from which the output should be generated. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) | | |
| **<a id="cli.read_write" name="cli.read_write">cli.read_write</a>**<br/>**Command line**: <br/>&nbsp;--cli.read_write<br/>&nbsp;--cli.no-read_write<br/>**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` | | |
| **<a id="cli.description_type" name="cli.description_type">cli.description_type</a>**<br/>**Command line**: <br/>--cli.description_type<br/>**Environment variable**: CLI.DESCRIPTION_TYPE | Type of variables description.<br/>To identify different variables, we use the variable description. There are four types of description:<br/>- path_and_description: which contains the variable path followed by its description - name_and_description: which contains the variable name followed by its description - path: the variable&#x27;s path - name: the variable name - description: the variable&#x27;s description. | description | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | **Choices**: <br/>&nbsp;path_and_description<br/>&nbsp;name_and_description<br/>&nbsp;path<br/>&nbsp;name<br/>&nbsp;description |
| **<a id="cli.description_type" name="cli.description_type">cli.description_type</a>**<br/>**Command line**: <br/>-cd, --cli.description_type<br/>**Environment variable**: CLI.DESCRIPTION_TYPE | Type of variables description.<br/>To identify different variables, we use the variable description. There are four types of description:<br/>- path_and_description: which contains the variable path followed by its description - name_and_description: which contains the variable name followed by its description - path: the variable&#x27;s path - name: the variable name - description: the variable&#x27;s description. | description | [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | **Choices**: <br/>&nbsp;path_and_description<br/>&nbsp;name_and_description<br/>&nbsp;path<br/>&nbsp;name<br/>&nbsp;description |
| **<a id="cli.inaccessible_read_only_modes" name="cli.inaccessible_read_only_modes">cli.inaccessible_read_only_modes</a>**<br/>**Command line**: <br/>--cli.inaccessible_read_only_modes<br/>**Environment variable**: CLI.INACCESSIBLE_READ_ONLY_MODES | Modes that should not be accessible in read_only mode. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`disabled`*<br/>**Disabled**: if any mode is set in "[All modes level available](#modes_level)" | `unique`<br/>Mode must exists in "[All modes level available](#modes_level)". |
| **<a id="cli.inaccessible_read_write_modes" name="cli.inaccessible_read_write_modes">cli.inaccessible_read_write_modes</a>**<br/>**Command line**: <br/>--cli.inaccessible_read_write_modes<br/>**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`*<br/>**Disabled**: if any mode is set in "[All modes level available](#modes_level)" | `unique`<br/>Mode must exists in "[All modes level available](#modes_level)". |
| **<a id="cli.inaccessible_modes" name="cli.inaccessible_modes">cli.inaccessible_modes</a>**<br/>**Command line**: <br/>--cli.inaccessible_modes<br/>**Environment variable**: CLI.INACCESSIBLE_MODES | Modes that should not be accessible. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`disabled`*<br/>**Disabled**: if any mode is set in "[All modes level available](#modes_level)" | `unique`<br/>Mode must exists in "[All modes level available](#modes_level)". |
| **<a id="cli.inaccessible_modes" name="cli.inaccessible_modes">cli.inaccessible_modes</a>**<br/>**Command line**: <br/>-ci, --cli.inaccessible_modes<br/>**Environment variable**: CLI.INACCESSIBLE_MODES | Modes that should not be accessible. | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | *`disabled`*<br/>**Disabled**: if any mode is set in "[All modes level available](#modes_level)" | `unique`<br/>Mode must exists in "[All modes level available](#modes_level)". |

View file

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2026-01-03 13:01+0100\n"
"PO-Revision-Date: 2026-01-03 13:01+0100\n"
"POT-Creation-Date: 2026-01-04 19:05+0100\n"
"PO-Revision-Date: 2026-01-04 19:07+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@ -16,11 +16,11 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.8\n"
#: src/rougail/cli/__main__.py:248
#: src/rougail/cli/__main__.py:253
msgid "cannot find \"user_data\" module \"{0}\""
msgstr "ne peut trouve le module \"user_data\" \"{0}\""
#: src/rougail/cli/__main__.py:256
#: src/rougail/cli/__main__.py:261
msgid ""
"interactive user data \"{0}\" is loader before uninteractive user data "
"\"{1}\""
@ -28,11 +28,11 @@ msgstr ""
"les données utilisateur interactifs \"{0}\" sont chargées avant les données "
"utilisateur non interactif \"{1}\""
#: src/rougail/cli/__main__.py:292
#: src/rougail/cli/__main__.py:297
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:317
#: src/rougail/cli/__main__.py:328
msgid "ERROR: {0}"
msgstr "ERREUR : {0}"
@ -81,29 +81,53 @@ msgstr ""
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:57
#: src/rougail/cli/config.py:58
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:64
#: src/rougail/cli/config.py:65
msgid "Use cache for load Tiramisu objects"
msgstr "Utiliser le cache pour charger les objets Tiramisu"
#: src/rougail/cli/config.py:65
#: src/rougail/cli/config.py:67
msgid "It will only be loaded from the cache if it already exists"
msgstr "Il sera chargé à partir du cache uniquement si celui-ci existe déjà."
#: src/rougail/cli/config.py:71
#: src/rougail/cli/config.py:69
msgid ""
"Note that certain user data or output can change how structure files are "
"loaded (this is particularly true for the doc output). It is best to use the "
"cache only for the same type of user data and output."
msgstr ""
"Attention, certain données utilisateur ou sortie peuvent changer la manière "
"dont sont chargés les fichiers de structure (c'est notamment le cas avec la "
"sortie doc). Il est préférable de n'utiliser le cache pour le même type de "
"données utilisateur et sortie."
#: src/rougail/cli/config.py:76
msgid "Use output only for the children variables of the family"
msgstr "Utiliser la sortie uniquement pour les variables enfants de la famille"
#: src/rougail/cli/config.py:77
msgid ""
"By default, all accessible variables are included in output. It is possible "
"to define the family from which the output should be generated."
msgstr ""
"Par défaut, toutes les variables accessible sont inclus dans la sortie. Il "
"est possible de définir la famille a partir de laquelle la sortie devra être "
"générée."
#: src/rougail/cli/config.py:81
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:74
#: src/rougail/cli/config.py:84
msgid "Type of variables description"
msgstr "Type de description des variables"
#: src/rougail/cli/config.py:76
#: src/rougail/cli/config.py:87
msgid ""
"To identify different variables, we use the variable description. There are "
"four types of description:\n"
@ -125,25 +149,25 @@ msgstr ""
" - name : le nom de la variable\n"
" - description : la description de la variable"
#: src/rougail/cli/config.py:92
#: src/rougail/cli/config.py:103
msgid "Modes that should not be accessible in read_only mode"
msgstr "Modes quoi doivent être inaccessible en mode lecture seule"
#: src/rougail/cli/config.py:99 src/rougail/cli/config.py:116
#: src/rougail/cli/config.py:133
#: src/rougail/cli/config.py:110 src/rougail/cli/config.py:127
#: src/rougail/cli/config.py:145
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:106 src/rougail/cli/config.py:123
#: src/rougail/cli/config.py:140
#: src/rougail/cli/config.py:117 src/rougail/cli/config.py:134
#: src/rougail/cli/config.py:152
msgid "mode must exists in \"modes_level\""
msgstr "un mode doit exister dans \"modes_level\""
#: src/rougail/cli/config.py:109
#: src/rougail/cli/config.py:120
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:126
#: src/rougail/cli/config.py:137
msgid "Modes that should not be accessible"
msgstr "Modes quoi doivent être inaccessible"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2026-01-03 13:01+0100\n"
"POT-Creation-Date: 2026-01-04 19:07+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"
@ -15,19 +15,19 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
#: src/rougail/cli/__main__.py:248
#: src/rougail/cli/__main__.py:253
msgid "cannot find \"user_data\" module \"{0}\""
msgstr ""
#: src/rougail/cli/__main__.py:256
#: src/rougail/cli/__main__.py:261
msgid "interactive user data \"{0}\" is loader before uninteractive user data \"{1}\""
msgstr ""
#: src/rougail/cli/__main__.py:292
#: src/rougail/cli/__main__.py:297
msgid "cannot find cli file for \"output_name\" module \"{0}\""
msgstr ""
#: src/rougail/cli/__main__.py:317
#: src/rougail/cli/__main__.py:328
msgid "ERROR: {0}"
msgstr ""
@ -67,27 +67,39 @@ msgstr ""
msgid "Open each user data in separate layers"
msgstr ""
#: src/rougail/cli/config.py:57
#: src/rougail/cli/config.py:58
msgid "if only one user data is set in \"__.step.user_data\""
msgstr ""
#: src/rougail/cli/config.py:64
#: src/rougail/cli/config.py:65
msgid "Use cache for load Tiramisu objects"
msgstr ""
#: src/rougail/cli/config.py:65
#: src/rougail/cli/config.py:67
msgid "It will only be loaded from the cache if it already exists"
msgstr ""
#: src/rougail/cli/config.py:71
msgid "Configuration in output step is in read_write mode"
msgstr ""
#: src/rougail/cli/config.py:74
msgid "Type of variables description"
#: src/rougail/cli/config.py:69
msgid "Note that certain user data or output can change how structure files are loaded (this is particularly true for the doc output). It is best to use the cache only for the same type of user data and output."
msgstr ""
#: src/rougail/cli/config.py:76
msgid "Use output only for the children variables of the family"
msgstr ""
#: src/rougail/cli/config.py:77
msgid "By default, all accessible variables are included in output. It is possible to define the family from which the output should be generated."
msgstr ""
#: src/rougail/cli/config.py:81
msgid "Configuration in output step is in read_write mode"
msgstr ""
#: src/rougail/cli/config.py:84
msgid "Type of variables description"
msgstr ""
#: src/rougail/cli/config.py:87
msgid ""
"To identify different variables, we use the variable description. There are four types of description:\n"
"\n"
@ -98,25 +110,25 @@ msgid ""
" - description: the variable's description"
msgstr ""
#: src/rougail/cli/config.py:92
#: src/rougail/cli/config.py:103
msgid "Modes that should not be accessible in read_only mode"
msgstr ""
#: src/rougail/cli/config.py:99 src/rougail/cli/config.py:116
#: src/rougail/cli/config.py:133
#: src/rougail/cli/config.py:110 src/rougail/cli/config.py:127
#: src/rougail/cli/config.py:145
msgid "if any mode is set in \"modes_level\""
msgstr ""
#: src/rougail/cli/config.py:106 src/rougail/cli/config.py:123
#: src/rougail/cli/config.py:140
#: src/rougail/cli/config.py:117 src/rougail/cli/config.py:134
#: src/rougail/cli/config.py:152
msgid "mode must exists in \"modes_level\""
msgstr ""
#: src/rougail/cli/config.py:109
#: src/rougail/cli/config.py:120
msgid "Modes that should not be accessible in read_write mode"
msgstr ""
#: src/rougail/cli/config.py:126
#: src/rougail/cli/config.py:137
msgid "Modes that should not be accessible"
msgstr ""

View file

@ -63,7 +63,12 @@ def _main(arguments, do_not_print):
print(version)
exit()
layer_datas, metaconfig, config, err_warn = load_user_data(rougailconfig)
output = get_output(rougailconfig, metaconfig, config, err_warn, layer_datas)
output = get_output(rougailconfig,
metaconfig,
config,
err_warn,
layer_datas,
)
if do_not_print:
return output.run()
ret = output.print()
@ -292,8 +297,14 @@ def get_output(rougailconfig, metaconfig, config, err_warn, layer_datas):
_('cannot find cli file for "output_name" module "{0}"').format(output_name)
)
module = load_modules("rougail.output_" + output_name, str(path))
root = self.rougailconfig["cli.root"]
if root:
subconfig = config.option(root)
else:
subconfig = config
output = module.RougailOutput(
config=config,
config=subconfig,
true_config=config,
rougailconfig=rougailconfig,
user_data_errors=err_warn["errors"],
user_data_warnings=err_warn["warnings"],

View file

@ -49,6 +49,7 @@ cli:
layers:
description: {_('Open each user data in separate layers')}
alternative_name: cl
default: false
hidden:
jinja: |-
@ -62,16 +63,26 @@ cli:
load_from_tiramisu_cache:
description: {_('Use cache for load Tiramisu objects')}
help: {_('It will only be loaded from the cache if it already exists')}
help: |-
{_('It will only be loaded from the cache if it already exists')}
{_('Note that certain user data or output can change how structure files are loaded (this is particularly true for the doc output). It is best to use the cache only for the same type of user data and output.')}
default: false
disabled:
variable: __.tiramisu_cache
when: null
root:
description: {_('Use output only for the children variables of the family')}
help: {_('By default, all accessible variables are included in output. It is possible to define the family from which the output should be generated.')}
alternative_name: cr
mandatory: false
read_write: false # {_('Configuration in output step is in read_write mode')}
description_type:
description: {_('Type of variables description')}
alternative_name: cd
help: >-
{_("""To identify different variables, we use the variable description. There are four types of description:
@ -124,6 +135,7 @@ cli:
inaccessible_modes:
description: {_('Modes that should not be accessible')}
alternative_name: ci
multi: true
mandatory: false
disabled: