feat: support commandline user data

This commit is contained in:
egarette@silique.fr 2026-06-15 09:42:41 +02:00
parent 92df0ec569
commit 2691be46d2
9 changed files with 834 additions and 141 deletions

View file

@ -1,31 +1,334 @@
---
gitea: none
include_toc: true
---
[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
Options de la ligne de commande
===============================
## Options de la ligne de commande
.. note::
> [!NOTE]
>
> 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;-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)". |
| 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
.. list-table::
* - Variable
- Description
* - **cli.config_file**
`UNIX filename <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `obligatoire` `unique`
**Variable d'environnement** : ROUGAILCLI_CLI.CONFIG_FILE
- Charger les paramètres de la ligne de commande depuis un fichier.
**Validateurs** :
- le nom de fichier peut être une chemin relatif
- 'type de fichier autorisé: "directory" et "file"'
**Défaut** :
- .rougailcli.yml
* - **cli.debug**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.debug
- --cli.no-debug
**Variable d'environnement** : ROUGAILCLI_CLI.DEBUG
- Afficher les informations de debug.
**Défaut** : false
* - **cli.warnings**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.warnings
- --cli.no-warnings
**Variable d'environnement** : ROUGAILCLI_CLI.WARNINGS
- Afficher les avertissements de chargement des options de la ligne de commande.
**Défaut** : true
* - **cli.versions**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.versions
- --cli.no-versions
**Variable d'environnement** : ROUGAILCLI_CLI.VERSIONS
- Afficher la version de Rougail et de tous ces composants.
**Défaut** : false
* - **cli.invalid_user_data_error**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.invalid_user_data_error
- --cli.no-invalid_user_data_error
**Variable d'environnement** : ROUGAILCLI_CLI.INVALID_USER_DATA_ERROR
- Les valeurs invalides dans les données utilisateur ne sont pas autorisées.
**Défaut** : false
* - **cli.unknown_user_data_error**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.unknown_user_data_error
- --cli.no-unknown_user_data_error
**Variable d'environnement** : ROUGAILCLI_CLI.UNKNOWN_USER_DATA_ERROR
- Les variables inconnues dans les données utilisateur ne sont pas autorisées.
**Défaut** : false
* - **cli.layers**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire` `*cachée*`
**Ligne de commande** :
- -cl, --cli.layers
- -ncl, --cli.no-layers
**Variable d'environnement** : ROUGAILCLI_CLI.LAYERS
- Charger chaque données utilisateurs dans des couches séparées.
**Défaut** : false
**Cachée** : si seulement un type de données utilisateur est renseigné dans "sélection pour user data" (step.user_data).
* - **cli.tiramisu_cache**
`UNIX filename <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__
**Ligne de commande** :
-ct, --cli.tiramisu_cache
**Variable d'environnement** : ROUGAILCLI_CLI.TIRAMISU_CACHE
- Nom du fichier d'enregistrement du cache de Tiramisu.
Ce fichier contient les instructions Tiramisu utilisé en interne pour charger les variables."
Ce fichier peut est utilisé pour charger Tiramisu depuis un cache au lieu de le regénérer".
**Validateurs** :
- le nom de fichier peut être une chemin relatif
- 'type de fichier autorisé: "file"'
* - **cli.load_from_tiramisu_cache**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire` `*désactivé*`
**Ligne de commande** :
- --cli.load_from_tiramisu_cache
- --cli.no-load_from_tiramisu_cache
**Variable d'environnement** : ROUGAILCLI_CLI.LOAD_FROM_TIRAMISU_CACHE
- Utiliser le cache pour charger les objets Tiramisu.
Il sera chargé à partir du cache uniquement si celui-ci existe déjà.
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.
**Défaut** : false
**Désactivé** : lorsque la variable "Nom du fichier d'enregistrement du cache de Tiramisu" (cli.tiramisu_cache) a la valeur "null".
* - **cli.root**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__
**Ligne de commande** :
-cr, --cli.root
**Variable d'environnement** : ROUGAILCLI_CLI.ROOT
- Utiliser la sortie uniquement pour les variables enfants de la famille.
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.
* - **cli.read_write**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.read_write
- --cli.no-read_write
**Variable d'environnement** : ROUGAILCLI_CLI.READ_WRITE
- La configuration dans l'état de sortie est dans mode lecture-écriture.
**Défaut** : false
* - **cli.mandatory**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
- --cli.mandatory
- --cli.no-mandatory
**Variable d'environnement** : ROUGAILCLI_CLI.MANDATORY
- Test les valeurs obligatoires.
Cette configuration doit être valide avant de lancer le processus de sortie. Il est préférable de valider les valeurs au début du processus.
**Défaut** : si "La configuration dans l'état de sortie est dans mode lecture-écriture" (cli.read_write) est false.
* - **cli.description_type**
`choice <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `obligatoire`
**Ligne de commande** :
-cd, --cli.description_type
**Variable d'environnement** : ROUGAILCLI_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.
**Choix** :
- path_and_description
- name_and_description
- path
- name
- description **← (défaut)**
* - **cli.inaccessible_read_only_modes**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `*désactivé*` `unique`
**Ligne de commande** :
--cli.inaccessible_read_only_modes
**Variable d'environnement** : ROUGAILCLI_CLI.INACCESSIBLE_READ_ONLY_MODES
- Modes quoi doivent être inaccessible en mode lecture seule.
**Validateur** : un mode doit exister dans "Tous les niveaux de modes valides" (modes_level)
**Désactivé** : si aucun mode n'est défini dans "Tous les niveaux de modes valides" (modes_level).
* - **cli.inaccessible_read_write_modes**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `*désactivé*` `unique`
**Ligne de commande** :
--cli.inaccessible_read_write_modes
**Variable d'environnement** : ROUGAILCLI_CLI.INACCESSIBLE_READ_WRITE_MODES
- Modes quoi doivent être inaccessible en mode lecture-écriture.
**Validateur** : un mode doit exister dans "Tous les niveaux de modes valides" (modes_level)
**Désactivé** : si aucun mode n'est défini dans "Tous les niveaux de modes valides" (modes_level).
* - **cli.inaccessible_modes**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `*désactivé*` `unique`
**Ligne de commande** :
-ci, --cli.inaccessible_modes
**Variable d'environnement** : ROUGAILCLI_CLI.INACCESSIBLE_MODES
- Modes quoi doivent être inaccessible.
**Validateur** : un mode doit exister dans "Tous les niveaux de modes valides" (modes_level)
**Désactivé** : si aucun mode n'est défini dans "Tous les niveaux de modes valides" (modes_level).

357
README.md
View file

@ -1,31 +1,334 @@
---
gitea: none
include_toc: true
---
[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
Command line options
====================
## Command line options
.. note::
> [!NOTE]
>
> It is possible to use Rougail directly from the command line. This makes it easy to define and configure the loaded user data and to define the desired output.\
> **Path**: cli
| Variable | Description | Default value | Type | Access control | Validator |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="cli.config_file" name="cli.config_file">cli.config_file</a>**<br/>**Environment variable**: CLI.CONFIG_FILE | Loads command line parameters from a file. | •&nbsp;.rougailcli.yml | [`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` | | •&nbsp;this filename could be a relative path<br/>&nbsp;file type allowed: "directory" and "file". |
| **<a id="cli.debug" name="cli.debug">cli.debug</a>**<br/>**Command line**: <br/>&nbsp;--cli.debug<br/>&nbsp;--cli.no-debug<br/>**Environment variable**: CLI.DEBUG | Displays debug informations. | false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
| **<a id="cli.warnings" name="cli.warnings">cli.warnings</a>**<br/>**Command line**: <br/>&nbsp;--cli.warnings<br/>&nbsp;--cli.no-warnings<br/>**Environment variable**: CLI.WARNINGS | Displays command line option warnings informations. | true | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | | |
| **<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;-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/>-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/>-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)". |
| It is possible to use Rougail directly from the command line. This makes it easy to define and configure the loaded user data and to define the desired output.
| **Path**: cli
.. list-table::
* - Variable
- Description
* - **cli.config_file**
`UNIX filename <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `mandatory` `unique`
**Environment variable**: ROUGAILCLI_CLI.CONFIG_FILE
- Loads command line parameters from a file.
**Validators**:
- this filename could be a relative path
- 'file type allowed: "directory" and "file"'
**Default**:
- .rougailcli.yml
* - **cli.debug**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.debug
- --cli.no-debug
**Environment variable**: ROUGAILCLI_CLI.DEBUG
- Displays debug informations.
**Default**: false
* - **cli.warnings**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.warnings
- --cli.no-warnings
**Environment variable**: ROUGAILCLI_CLI.WARNINGS
- Displays command line option warnings informations.
**Default**: true
* - **cli.versions**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.versions
- --cli.no-versions
**Environment variable**: ROUGAILCLI_CLI.VERSIONS
- Displays Rougail version and all its components.
**Default**: false
* - **cli.invalid_user_data_error**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.invalid_user_data_error
- --cli.no-invalid_user_data_error
**Environment variable**: ROUGAILCLI_CLI.INVALID_USER_DATA_ERROR
- Invalid value in user data is not allowed.
**Default**: false
* - **cli.unknown_user_data_error**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.unknown_user_data_error
- --cli.no-unknown_user_data_error
**Environment variable**: ROUGAILCLI_CLI.UNKNOWN_USER_DATA_ERROR
- Unknown variable in user data is not allowed.
**Default**: false
* - **cli.layers**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory` `*hidden*`
**Command line**:
- -cl, --cli.layers
- -ncl, --cli.no-layers
**Environment variable**: ROUGAILCLI_CLI.LAYERS
- Open each user data in separate layers.
**Default**: false
**Hidden**: if only one user data is set in "select for user data" (step.user_data).
* - **cli.tiramisu_cache**
`UNIX filename <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__
**Command line**:
-ct, --cli.tiramisu_cache
**Environment variable**: ROUGAILCLI_CLI.TIRAMISU_CACHE
- Store Tiramisu cache filename.
This file contains the Tiramisu instructions used internally to load the variables."
This file can be used for load Tiramisu from cache instead of regenerates it".
**Validators**:
- this filename could be a relative path
- 'file type allowed: "file"'
* - **cli.load_from_tiramisu_cache**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory` `*disabled*`
**Command line**:
- --cli.load_from_tiramisu_cache
- --cli.no-load_from_tiramisu_cache
**Environment variable**: ROUGAILCLI_CLI.LOAD_FROM_TIRAMISU_CACHE
- Use cache for load Tiramisu objects.
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**: when the variable "Store Tiramisu cache filename" (cli.tiramisu_cache) has the value "null".
* - **cli.root**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__
**Command line**:
-cr, --cli.root
**Environment variable**: ROUGAILCLI_CLI.ROOT
- Use output only for the children variables of the family.
By default, all accessible variables are included in output. It is possible to define the family from which the output should be generated.
* - **cli.read_write**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.read_write
- --cli.no-read_write
**Environment variable**: ROUGAILCLI_CLI.READ_WRITE
- Configuration in output step is in read_write mode.
**Default**: false
* - **cli.mandatory**
`boolean <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
- --cli.mandatory
- --cli.no-mandatory
**Environment variable**: ROUGAILCLI_CLI.MANDATORY
- Test mandatories variables.
The configuration must be valid before process output. It's better to validate the values at the beginning of the process.
**Default**: if "Configuration in output step is in read_write mode" (cli.read_write) is false.
* - **cli.description_type**
`choice <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `mandatory`
**Command line**:
-cd, --cli.description_type
**Environment variable**: ROUGAILCLI_CLI.DESCRIPTION_TYPE
- Type of variables description.
To identify different variables, we use the variable description. There are four types of description:
- 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's path - name: the variable name - description: the variable's description.
**Choices**:
- path_and_description
- name_and_description
- path
- name
- description **← (default)**
* - **cli.inaccessible_read_only_modes**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `*disabled*` `unique`
**Command line**:
--cli.inaccessible_read_only_modes
**Environment variable**: ROUGAILCLI_CLI.INACCESSIBLE_READ_ONLY_MODES
- Modes that should not be accessible in read_only mode.
**Validator**: mode must exists in "All modes level available" (modes_level)
**Disabled**: if any mode is set in "All modes level available" (modes_level).
* - **cli.inaccessible_read_write_modes**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `*disabled*` `unique`
**Command line**:
--cli.inaccessible_read_write_modes
**Environment variable**: ROUGAILCLI_CLI.INACCESSIBLE_READ_WRITE_MODES
- Modes that should not be accessible in read_write mode.
**Validator**: mode must exists in "All modes level available" (modes_level)
**Disabled**: if any mode is set in "All modes level available" (modes_level).
* - **cli.inaccessible_modes**
`string <https://rougail.readthedocs.io/en/latest/variable.html#variables-types>`__ `multiple` `*disabled*` `unique`
**Command line**:
-ci, --cli.inaccessible_modes
**Environment variable**: ROUGAILCLI_CLI.INACCESSIBLE_MODES
- Modes that should not be accessible.
**Validator**: mode must exists in "All modes level available" (modes_level)
**Disabled**: if any mode is set in "All modes level available" (modes_level).

View file

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2026-01-04 19:05+0100\n"
"PO-Revision-Date: 2026-01-04 19:07+0100\n"
"POT-Creation-Date: 2026-06-15 09:38+0200\n"
"PO-Revision-Date: 2026-06-15 09:41+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@ -14,13 +14,17 @@ 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.8\n"
"X-Generator: Poedit 3.9\n"
#: src/rougail/cli/__main__.py:253
#: src/rougail/cli/__main__.py:115
msgid "unable to load {0}, {1}"
msgstr "impossible de charger {0}, {1}"
#: src/rougail/cli/__main__.py:251
msgid "cannot find \"user_data\" module \"{0}\""
msgstr "ne peut trouve le module \"user_data\" \"{0}\""
#: src/rougail/cli/__main__.py:261
#: src/rougail/cli/__main__.py:267
msgid ""
"interactive user data \"{0}\" is loader before uninteractive user data "
"\"{1}\""
@ -28,19 +32,19 @@ msgstr ""
"les données utilisateur interactifs \"{0}\" sont chargées avant les données "
"utilisateur non interactif \"{1}\""
#: src/rougail/cli/__main__.py:297
#: src/rougail/cli/__main__.py:345
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:328
#: src/rougail/cli/__main__.py:375
msgid "ERROR: {0}"
msgstr "ERREUR : {0}"
#: src/rougail/cli/config.py:28
#: src/rougail/cli/config.py:33
msgid "Command line options"
msgstr "Options de la ligne de commande"
#: src/rougail/cli/config.py:29
#: src/rougail/cli/config.py:34
msgid ""
"It is possible to use Rougail directly from the command line. This makes it "
"easy to define and configure the loaded user data and to define the desired "
@ -50,52 +54,71 @@ msgstr ""
"possible de définir et configurer facilement les données utilisateur "
"chargées, ainsi que la définition de la sortie souhaité."
#: src/rougail/cli/config.py:32
#: src/rougail/cli/config.py:37
msgid "Loads command line parameters from a file"
msgstr "Charger les paramètres de la ligne de commande depuis un fichier"
#: src/rougail/cli/config.py:40
#: src/rougail/cli/config.py:45
msgid "Displays debug informations"
msgstr "Afficher les informations de debug"
#: src/rougail/cli/config.py:42
#: src/rougail/cli/config.py:47
msgid "Displays command line option warnings informations"
msgstr ""
"Afficher les avertissements de chargement des options de la ligne de commande"
#: src/rougail/cli/config.py:44
#: src/rougail/cli/config.py:49
msgid "Displays Rougail version and all its components"
msgstr "Afficher la version de Rougail et de tous ces composants"
#: src/rougail/cli/config.py:46
#: src/rougail/cli/config.py:51
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:48
#: src/rougail/cli/config.py:53
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:51
#: src/rougail/cli/config.py:56
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:58
#: src/rougail/cli/config.py:63
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:65
#: src/rougail/cli/config.py:70
msgid "Store Tiramisu cache filename"
msgstr "Nom du fichier d'enregistrement du cache de Tiramisu"
#: src/rougail/cli/config.py:72
msgid ""
"This file contains the Tiramisu instructions used internally to load the "
"variables."
msgstr ""
"Ce fichier contient les instructions Tiramisu utilisé en interne pour "
"charger les variables."
#: src/rougail/cli/config.py:74
msgid ""
"This file can be used for load Tiramisu from cache instead of regenerates it"
msgstr ""
"Ce fichier peut est utilisé pour charger Tiramisu depuis un cache au lieu de "
"le regénérer"
#: src/rougail/cli/config.py:84
msgid "Use cache for load Tiramisu objects"
msgstr "Utiliser le cache pour charger les objets Tiramisu"
#: src/rougail/cli/config.py:67
#: src/rougail/cli/config.py:86
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:69
#: src/rougail/cli/config.py:88
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 "
@ -106,11 +129,11 @@ msgstr ""
"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
#: src/rougail/cli/config.py:95
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
#: src/rougail/cli/config.py:96
msgid ""
"By default, all accessible variables are included in output. It is possible "
"to define the family from which the output should be generated."
@ -119,15 +142,31 @@ msgstr ""
"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
#: src/rougail/cli/config.py:100
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:84
#: src/rougail/cli/config.py:103
msgid "test mandatories variables"
msgstr "test les valeurs obligatoires"
#: src/rougail/cli/config.py:105
msgid ""
"The configuration must be valid before process output. It's better to "
"validate the values at the beginning of the process."
msgstr ""
"Cette configuration doit être valide avant de lancer le processus de sortie. "
"Il est préférable de valider les valeurs au début du processus."
#: src/rougail/cli/config.py:110
msgid "if \"cli.read_write\" is false"
msgstr "si \"cli.read_write\" est false"
#: src/rougail/cli/config.py:113
msgid "Type of variables description"
msgstr "Type de description des variables"
#: src/rougail/cli/config.py:87
#: src/rougail/cli/config.py:116
msgid ""
"To identify different variables, we use the variable description. There are "
"four types of description:\n"
@ -149,25 +188,25 @@ msgstr ""
" - name : le nom de la variable\n"
" - description : la description de la variable"
#: src/rougail/cli/config.py:103
#: src/rougail/cli/config.py:132
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:110 src/rougail/cli/config.py:127
#: src/rougail/cli/config.py:145
#: src/rougail/cli/config.py:139 src/rougail/cli/config.py:156
#: src/rougail/cli/config.py:174
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:117 src/rougail/cli/config.py:134
#: src/rougail/cli/config.py:152
#: src/rougail/cli/config.py:146 src/rougail/cli/config.py:163
#: src/rougail/cli/config.py:181
msgid "mode must exists in \"modes_level\""
msgstr "un mode doit exister dans \"modes_level\""
#: src/rougail/cli/config.py:120
#: src/rougail/cli/config.py:149
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:137
#: src/rougail/cli/config.py:166
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-04 19:07+0100\n"
"POT-Creation-Date: 2026-06-15 09:42+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,91 +15,119 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
#: src/rougail/cli/__main__.py:253
#: src/rougail/cli/__main__.py:115
msgid "unable to load {0}, {1}"
msgstr ""
#: src/rougail/cli/__main__.py:251
msgid "cannot find \"user_data\" module \"{0}\""
msgstr ""
#: src/rougail/cli/__main__.py:261
#: src/rougail/cli/__main__.py:267
msgid "interactive user data \"{0}\" is loader before uninteractive user data \"{1}\""
msgstr ""
#: src/rougail/cli/__main__.py:297
#: src/rougail/cli/__main__.py:345
msgid "cannot find cli file for \"output_name\" module \"{0}\""
msgstr ""
#: src/rougail/cli/__main__.py:328
#: src/rougail/cli/__main__.py:375
msgid "ERROR: {0}"
msgstr ""
#: src/rougail/cli/config.py:28
#: src/rougail/cli/config.py:33
msgid "Command line options"
msgstr ""
#: src/rougail/cli/config.py:29
#: src/rougail/cli/config.py:34
msgid "It is possible to use Rougail directly from the command line. This makes it easy to define and configure the loaded user data and to define the desired output."
msgstr ""
#: src/rougail/cli/config.py:32
#: src/rougail/cli/config.py:37
msgid "Loads command line parameters from a file"
msgstr ""
#: src/rougail/cli/config.py:40
#: src/rougail/cli/config.py:45
msgid "Displays debug informations"
msgstr ""
#: src/rougail/cli/config.py:42
#: src/rougail/cli/config.py:47
msgid "Displays command line option warnings informations"
msgstr ""
#: src/rougail/cli/config.py:44
#: src/rougail/cli/config.py:49
msgid "Displays Rougail version and all its components"
msgstr ""
#: src/rougail/cli/config.py:46
#: src/rougail/cli/config.py:51
msgid "Invalid value in user data is not allowed"
msgstr ""
#: src/rougail/cli/config.py:48
#: src/rougail/cli/config.py:53
msgid "Unknown variable in user data is not allowed"
msgstr ""
#: src/rougail/cli/config.py:51
#: src/rougail/cli/config.py:56
msgid "Open each user data in separate layers"
msgstr ""
#: src/rougail/cli/config.py:58
#: src/rougail/cli/config.py:63
msgid "if only one user data is set in \"__.step.user_data\""
msgstr ""
#: src/rougail/cli/config.py:65
msgid "Use cache for load Tiramisu objects"
#: src/rougail/cli/config.py:70
msgid "Store Tiramisu cache filename"
msgstr ""
#: src/rougail/cli/config.py:67
msgid "It will only be loaded from the cache if it already exists"
#: src/rougail/cli/config.py:72
msgid "This file contains the Tiramisu instructions used internally to load the variables."
msgstr ""
#: 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"
#: src/rougail/cli/config.py:74
msgid "This file can be used for load Tiramisu from cache instead of regenerates it"
msgstr ""
#: src/rougail/cli/config.py:84
msgid "Use cache for load Tiramisu objects"
msgstr ""
#: src/rougail/cli/config.py:86
msgid "It will only be loaded from the cache if it already exists"
msgstr ""
#: src/rougail/cli/config.py:88
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:95
msgid "Use output only for the children variables of the family"
msgstr ""
#: src/rougail/cli/config.py:96
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:100
msgid "Configuration in output step is in read_write mode"
msgstr ""
#: src/rougail/cli/config.py:103
msgid "test mandatories variables"
msgstr ""
#: src/rougail/cli/config.py:105
msgid "The configuration must be valid before process output. It's better to validate the values at the beginning of the process."
msgstr ""
#: src/rougail/cli/config.py:110
msgid "if \"cli.read_write\" is false"
msgstr ""
#: src/rougail/cli/config.py:113
msgid "Type of variables description"
msgstr ""
#: src/rougail/cli/config.py:87
#: src/rougail/cli/config.py:116
msgid ""
"To identify different variables, we use the variable description. There are four types of description:\n"
"\n"
@ -110,25 +138,25 @@ msgid ""
" - description: the variable's description"
msgstr ""
#: src/rougail/cli/config.py:103
#: src/rougail/cli/config.py:132
msgid "Modes that should not be accessible in read_only mode"
msgstr ""
#: src/rougail/cli/config.py:110 src/rougail/cli/config.py:127
#: src/rougail/cli/config.py:145
#: src/rougail/cli/config.py:139 src/rougail/cli/config.py:156
#: src/rougail/cli/config.py:174
msgid "if any mode is set in \"modes_level\""
msgstr ""
#: src/rougail/cli/config.py:117 src/rougail/cli/config.py:134
#: src/rougail/cli/config.py:152
#: src/rougail/cli/config.py:146 src/rougail/cli/config.py:163
#: src/rougail/cli/config.py:181
msgid "mode must exists in \"modes_level\""
msgstr ""
#: src/rougail/cli/config.py:120
#: src/rougail/cli/config.py:149
msgid "Modes that should not be accessible in read_write mode"
msgstr ""
#: src/rougail/cli/config.py:137
#: src/rougail/cli/config.py:166
msgid "Modes that should not be accessible"
msgstr ""

View file

@ -53,7 +53,7 @@ def _main(arguments, do_not_print):
rougailconfig = get_rougail_config(
backward_compatibility=False, add_extra_options=False
)
cmd_config = load_cmd_user_data(rougailconfig, arguments)
cmd_config, parser = load_cmd_user_data(rougailconfig, arguments)
print_traceback = rougailconfig["cli.debug"]
if rougailconfig["cli.versions"]:
versions = display_version(cmd_config)
@ -62,7 +62,7 @@ def _main(arguments, do_not_print):
for version in versions:
print(version)
exit()
layer_datas, metaconfig, config, err_warn = load_user_data(rougailconfig)
layer_datas, metaconfig, config, err_warn = load_user_data(rougailconfig, parser)
if config and (not rougailconfig["cli.load_config"] or not rougailconfig["cli.read_write"]):
config.property.read_only()
if config and rougailconfig["cli.mandatory"]:
@ -123,15 +123,25 @@ def load_cmd_user_data(rougailconfig, arguments):
cmd_config,
short_name_max_len=2,
)
parser.parse_args(arguments)
try:
is_commandline = "commandline" in cmd_config.unrestraint.option(f'step.user_data').value.get()
except:
is_commandline = False
if is_commandline:
parser.parse_known_args(arguments)
else:
parser.parse_args(arguments)
else:
parser = None
if user_data["errors"]:
raise Exception(user_data["errors"][0])
else:
parser = None
cmd_config.property.setdefault(origin_prop, "read_write", "append")
cmd_config.property.read_only()
cmd_config.property.remove("not_for_commandline")
return cmd_config
return cmd_config, parser
def display_version(cmd_config):
@ -177,7 +187,7 @@ def manage_warnings(warnings):
filterwarnings("default", category=RougailWarning)
def load_user_data(rougailconfig):
def load_user_data(rougailconfig, cmdline_parser):
layer_datas = []
if not rougailconfig["cli.load_config"]:
return None, None, None, {"errors": [], "warnings": []}
@ -253,10 +263,10 @@ def load_user_data(rougailconfig):
if not idx:
has_interactive_user_data = hasattr(rougail_user_data, 'interactive_user_data') and rougail_user_data.interactive_user_data
if has_interactive_user_data:
if rougail_user_datas:
raise Exception(_('interactive user data "{0}" is loader before uninteractive user data "{1}"').format(list(interactive_user_datas), user_data_name))
interactive_user_datas[user_data_name] = rougail_user_data
else:
if interactive_user_datas:
raise Exception(_('interactive user data "{0}" is loader before uninteractive user data "{1}"').format(list(interactive_user_datas), user_data_name))
rougail_user_datas[user_data_name] = rougail_user_data
root_metaconfig = metaconfig
err_warn = {"errors": [], "warnings": []}
@ -265,12 +275,20 @@ def load_user_data(rougailconfig):
user_datas = []
for idx, user_data_name in enumerate(reversed(rougail_user_datas)):
rougail_user_data = rougail_user_datas[user_data_name]
if has_layers and idx:
metaconfig = metaconfig.config(user_data_name)
if has_layers:
if idx:
metaconfig = metaconfig.config(user_data_name)
metaconfig.owner.set(metaconfig.path())
if user_data_name == 'commandline':
extras = {"parents": [cmdline_parser],
"add_help": False,
}
else:
extras = {}
for ud_idx, user_data in enumerate(rougail_user_data(
subconfig,
rougailconfig=rougailconfig,
**extras,
).run()):
if has_layers and ud_idx:
metaconfig = metaconfig.config(user_data_name)
@ -291,8 +309,9 @@ def load_user_data(rougailconfig):
user_datas = []
for idx, user_data_name in enumerate(reversed(interactive_user_datas)):
rougail_user_data = interactive_user_datas[user_data_name]
if has_layers and idx:
metaconfig = metaconfig.config(user_data_name)
if has_layers:
if idx:
metaconfig = metaconfig.config(user_data_name)
metaconfig.owner.set(metaconfig.path())
for ud_idx, user_data in enumerate(rougail_user_data(
subconfig,

View file

@ -80,4 +80,5 @@ def from_cmdline(cmd_config, arguments, add_help):
short_name_max_len=2,
arguments=arguments,
add_help=add_help,
allow_unknown=True,
).run()

View file

@ -1 +1 @@
["unable to load \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), family \"bitwarden\" (Secrets are in Bitwarden) has property disabled, so cannot access to \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), it will be ignored when loading from the YAML file \"warnings.yml\""]
["unable to load \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), family \"bitwarden\" (Load user data secrets from Bitwarden) has property disabled, so cannot access to \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), it will be ignored when loading from the YAML file \"warnings.yml\""]

View file

@ -1 +1 @@
["unable to load \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), family \"bitwarden\" (Secrets are in Bitwarden) has property disabled, so cannot access to \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), it will be ignored when loading from the YAML file \"warnings3.yml\""]
["unable to load \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), family \"bitwarden\" (Load user data secrets from Bitwarden) has property disabled, so cannot access to \"bitwarden.mock_enable\" (Simulate password generation instead of retrieve them), it will be ignored when loading from the YAML file \"warnings3.yml\""]