rougail-tutorials/README.md

13 KiB

[tutorial v1.1_132] A Jinja conditional disabled boolean variable

Screenshot

Firefox Proxy setting

Clone and install

To test this tutorial, you need to download this repository and install Rougail:

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:

git switch --detach v1.1_132

Structure

.
├── firefox
│   ├── 00-proxy.yml
│   ├── 10-manual.yml
│   ├── 20-manual.yml
│   ├── 30-auto.yml
│   ├── 40-no_proxy.yml
│   ├── 50-prompt_authentication.yml
│   └── 55-proxy_dns_socks5.yml
└── types
    └── proxy
        └── 00-type.yml


Contents of the firefox/55-proxy_dns_socks5.yml file

%YAML 1.2
---
version: 1.1

proxy_dns_socks5:
  description: Use proxy DNS when using SOCKS v5
  default: false
  disabled:
    jinja: |-
      {{ _.proxy_mode != "Manual proxy configuration" or _.manual.socks_proxy.version == 'v4' }}      
    return_type: boolean
    description: |-
      if "_.proxy_mode" is not "Manual proxy configuration"
      or "_.manual.socks_proxy.version" is "v4"      
...


Let's generate the documentation

rougail -m firefox/ --types types/proxy -o doc

View the documentation file


Let's generate the changelog

rougail -m firefox/ --types types/proxy -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml

View the changelog file


User datas

Example 1

config/01/config.yml

---

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/01/config.yml

Note

Caption:

  • Variable
  • Default value

Variables:

  • 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy

Example 2

config/02/config.yml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: http.proxy.net

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/02/config.yml

Caution

  • proxy_dns_socks5 (Use proxy DNS when using SOCKS v5)
    • 🔔 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml", it will be ignored
    • 🛑 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml"

Example 3

config/03/config.yml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: http.proxy.net
proxy_dns_socks5: true

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/03/config.yml

Caution

  • proxy_dns_socks5 (Use proxy DNS when using SOCKS v5)
    • 🔔 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml", it will be ignored
    • 🔔 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml", it will be ignored
    • 🔔 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml", it will be ignored when loading from the YAML file "config/03/config.yml"
    • 🛑 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml"

Example 4

config/04/config.yml

---
proxy_mode: Manual proxy configuration
manual:
  http_proxy:
    address: http.proxy.net
  socks_proxy:
    version: v4

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/04/config.yml

Caution

  • proxy_dns_socks5 (Use proxy DNS when using SOCKS v5)
    • 🔔 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml", it will be ignored
    • 🔔 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml", it will be ignored
    • 🛑 unexpected error "cannot access to option "version" (SOCKS host version used by proxy) because has property "disabled"" in function "jinja_to_property" with arguments "['disabled', 'if ".proxy_mode" is not "Manual proxy configuration"\nor ".manual.socks_proxy.version" is "v4"']" and "{'__internal_jinja': 'disabled_proxy_dns_socks5', '__internal_type': 'boolean', '__internal_multi': False, '__internal_files': ['firefox/55-proxy_dns_socks5.yml'], '__internal_attribute': 'disabled', '__internal_variable': 'proxy_dns_socks5', 'when': True, 'inverse': False, '.proxy_mode': 'Manual proxy configuration', '.manual.socks_proxy.version': PropertiesOptionError(None)}" for option "proxy_dns_socks5" (Use proxy DNS when using SOCKS v5) in "firefox/55-proxy_dns_socks5.yml"
  • manual (Manual proxy configuration)
    • socks_proxy (SOCKS Proxy)
      • version (SOCKS host version used by proxy): 🔔 variable has property disabled, it will be ignored when loading from the YAML file "config/04/config.yml"