rougail-output-display/src/rougail/output_console/config.py

90 lines
2.5 KiB
Python

"""
Silique (https://www.silique.fr)
Copyright (C) 2024-2025
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from pathlib import Path
from .i18n import _
def get_rougail_config(
*,
backward_compatibility=True,
) -> dict:
options = f"""
console:
description: {_('Configuration for rougail-console')}
disabled:
jinja: |-
{{% if step.output is propertyerror or step.output != 'console' %}}
true
{{% else %}}
false
{{% endif %}}
return_type: boolean
description: {_('if console is not set in "step.output"')}
show_secrets: false # {_('Show secrets instead of obscuring them')}
mandatory:
description: {_('test mandatories variables before display in console')}
type: boolean
default:
jinja: |-
{{% if cli.read_write is defined and cli.read_write %}}
false
{{% else %}}
true
{{% endif %}}
description: {_('do not test if "cli.read_write" is true')}
key_is_description: true # {_("In tree the key is the family or variable description inside of it's name")}
#
# undocumented_modes:
# description: {_('Variables with those modes are not documented')}
# multi: true
# mandatory: false
# disabled:
# jinja: |
# {{% if not modes_level %}}
# there is no mode
# {{% endif %}}
# description: {_('disabled when there is no mode available')}
# validators:
# - jinja: |
# {{% if _.undocumented_modes not in modes_level %}}
# this mode is not available
# {{% endif %}}
# description: {_('verify if disable modes already exists')}
max_width:
description: {_("Maximum number of characters per line")}
help: {_('null means unlimited')}
type: integer
mandatory: false
params:
min_integer: 50
"""
return {
"name": "console",
"process": "output",
"options": options,
"level": 40,
}
__all__ = ("get_rougail_config",)