- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
- [[tutorial v1.1_003] Set a default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_003/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_003~1..v1.1_003))
# [tutorial v1.1_010] A variable with a list of possible values
[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_010~1..v1.1_010)
[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#a-variable-with-a-list-of-possible-values)
## Screenshot
## Clone and install
To test this tutorial, you need to download this repository and install Rougail:
```shell
git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml
```
Then switch to the tutorial page:
```shell
git switch --detach v1.1_010
```
## Structure
.
└── firefox
└── 00-proxy.yml
╭──────────────────── Caption ─────────────────────╮ │ Undocumented but modified variable Default value │ ╰──────────────────────────────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy### Example 2 #### config/02/config.yml ```yml --- proxy_mode: No proxy ``` #### Output ```shell rougail -m firefox/ -u yaml -yf config/02/config.yml ```
╭─────────────────────────── Caption ────────────────────────────╮ │ Undocumented but modified variable Modified value │ │ (⏳ Original default value) │ ╰────────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy ◀ loaded from the YAML file "config/02/config.yml" (⏳ No proxy)### Example 3 #### config/03/config.yml ```yml --- proxy_mode: Manual proxy configuration ``` #### Output ```shell rougail -m firefox/ -u yaml -yf config/03/config.yml ```
╭─────────────────────────── Caption ────────────────────────────╮ │ Undocumented but modified variable Modified value │ │ (⏳ Original default value) │ ╰────────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/03/config.yml" (⏳ No proxy)### Example 4 #### config/04/config.yml ```yml --- proxy_mode: foo ``` #### Output ```shell rougail -m firefox/ -u yaml -yf config/04/config.yml ```
🔔 WARNINGS ┗━━ the value "foo" is an invalid choice for "proxy_mode" (Configure Proxy Access to the Internet), only "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", "No proxy" and "Use system proxy settings" are allowed, it will be ignored when loading from the YAML file "config/04/config.yml" ╭──────────────────── Caption ─────────────────────╮ │ Undocumented but modified variable Default value │ ╰──────────────────────────────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy#### Output when invalid user datas is an error ```shell rougail -m firefox/ -u yaml -yf config/04/config.yml --cli.invalid_user_datas_error ```
🛑 ERRORS ┗━━ the value "foo" is an invalid choice for "proxy_mode" (Configure Proxy Access to the Internet), only "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", "No proxy" and "Use system proxy settings" are allowed, it will be ignored when loading from the YAML file "config/04/config.yml"- [[tutorial v1.1_020] Creating a new family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020))