Compare commits
22 commits
Author | SHA1 | Date | |
---|---|---|---|
3d9f9b3fb4 | |||
a9ce48d03a | |||
fce409cde9 | |||
58677d06c0 | |||
7646c85546 | |||
e3e531bfba | |||
9c94e9fc50 | |||
cd8deea394 | |||
41001235c3 | |||
c4ce985783 | |||
86c46161a1 | |||
2dd15183c9 | |||
e8aa8d6b10 | |||
071c97bbb0 | |||
9dbc3a068d | |||
c6ab62eb78 | |||
cf2bb7500f | |||
b1dc690fb7 | |||
bc35561a52 | |||
15c6a2930a | |||
5cad82804c | |||
a5fc17af28 |
3347 changed files with 9777 additions and 1236 deletions
CHANGELOG.mdpyproject.toml
src/rougail/user_data_environment
tests
errors
environment
00_unknown_variable.env01_disabled_family.env01_disabled_variable.env01_wrong_type.env02_disabled_hidden_family.env04_value_secret.env05_value_family.env06_dynamic_unknown.env07_leadership_disabled.env07_leadership_unknown.env07_leadership_wrong_len.env
results
00_unknown_variable.env01_disabled_family.env01_disabled_variable.env01_wrong_type.env02_disabled_hidden_family.env04_value_secret.env05_value_family.env06_dynamic_unknown.env07_leadership_disabled.env07_leadership_unknown.env07_leadership_wrong_len.env
structure/rougail
results
00_4load_subfolder/makedict
00_6choice/errors
00_9extra/makedict
00_9extra_calculation/makedict
01_8calculation_information_multi/makedict
04_1auto_save_and_hidden/errors
04_1default_calculation_hidden/errors
04_1default_calculation_hidden_2/errors
04_5disabled_calculation/file
04_5disabled_calculation_optional/errors
04_5disabled_calculation_variable/errors
04_5disabled_calculation_variable2/errors
04_5disabled_calculation_variable3/errors
04_5disabled_calculation_variable4/errors
04_5hidden_calculation2/errors
16_2family_redefine_calculation/errors
16_2family_redefine_disabled/errors
16_5exists_redefine
16_5redefine_default_calculation/file
16_5redefine_hidden
17_5redefine_leadership/errors
20_0family_underscore/errors
24_0family_hidden_condition_boolean/file
24_0family_hidden_condition_variable_sub_family/errors
24_0family_hidden_condition_with_variable
24_family_disabled_var_hidden/errors
40_2leadership_calculation_index/file
40_2leadership_calculation_param_index/file
40_2leadership_leader_calculation/file
40_8calculation_boolean_return_none/file
40_8calculation_integer/file
44_0leadership_hidden/errors
44_0leadership_leader_hidden/errors
44_1leadership_append_hidden_follower/errors
44_4disabled_calcultion_follower/file
44_6leadership_follower_disabled_calculation/errors
44_9calculated_default_leadership_leader/file
60_0family_dynamic_1_0
60_0family_dynamic_1_0_type
60_0family_dynamic_1_1
60_0family_dynamic_jinja_number/file
60_0family_dynamic_variable_empty/file
61
CHANGELOG.md
61
CHANGELOG.md
|
@ -1,3 +1,64 @@
|
||||||
|
## 0.1.0a9 (2025-06-18)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- rougail separation
|
||||||
|
|
||||||
|
## 0.1.0a8 (2025-05-12)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- display loaded_from informations
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- black
|
||||||
|
|
||||||
|
## 0.1.0a7 (2025-05-02)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- do not force use_data usage
|
||||||
|
|
||||||
|
## 0.1.0a6 (2025-04-30)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- update tests
|
||||||
|
|
||||||
|
## 0.1.0a5 (2025-04-09)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- version
|
||||||
|
|
||||||
|
## 0.1.0a4 (2025-04-01)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- update tests
|
||||||
|
|
||||||
|
## 0.1.0a3 (2025-03-30)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- update tests
|
||||||
|
- update tests, some errors are now in warnings level
|
||||||
|
|
||||||
|
## 0.1.0a2 (2025-02-10)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- rename source
|
||||||
|
- add test without namespace
|
||||||
|
- update tests
|
||||||
|
|
||||||
|
## 0.1.0a1 (2024-11-27)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- NAMESPACE. instead of NAMESPACE_
|
||||||
|
|
||||||
## 0.1.0a0 (2024-11-25)
|
## 0.1.0a0 (2024-11-25)
|
||||||
|
|
||||||
### Feat
|
### Feat
|
||||||
|
|
|
@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "rougail.user_data_environment"
|
name = "rougail.user_data_environment"
|
||||||
version = "0.1.0a0"
|
version = "0.1.0a9"
|
||||||
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
|
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
description = "Rougail user_data environment"
|
description = "Rougail user_data environment"
|
||||||
|
@ -18,6 +18,8 @@ classifiers = [
|
||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
"Programming Language :: Python :: 3.11",
|
"Programming Language :: Python :: 3.11",
|
||||||
"Programming Language :: Python :: 3.12",
|
"Programming Language :: Python :: 3.12",
|
||||||
|
"Programming Language :: Python :: 3.13",
|
||||||
|
"Programming Language :: Python :: 3.14",
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Operating System :: OS Independent",
|
"Operating System :: OS Independent",
|
||||||
"Natural Language :: English",
|
"Natural Language :: English",
|
||||||
|
@ -36,5 +38,9 @@ name = "cz_conventional_commits"
|
||||||
tag_format = "$version"
|
tag_format = "$version"
|
||||||
version_scheme = "pep440"
|
version_scheme = "pep440"
|
||||||
version_provider = "pep621"
|
version_provider = "pep621"
|
||||||
|
version_files = [
|
||||||
|
"src/rougail/user_data_environment/__version__.py",
|
||||||
|
"pyproject.toml:version"
|
||||||
|
]
|
||||||
update_changelog_on_bump = true
|
update_changelog_on_bump = true
|
||||||
changelog_merge_prerelease = true
|
changelog_merge_prerelease = true
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
from .data import RougailUserDataEnvironment
|
from .data import RougailUserDataEnvironment
|
||||||
|
from .__version__ import __version__
|
||||||
|
|
||||||
|
|
||||||
RougailUserData = RougailUserDataEnvironment
|
RougailUserData = RougailUserDataEnvironment
|
||||||
__all__ = ('RougailUserDataEnvironment',)
|
__all__ = ("RougailUserDataEnvironment",)
|
||||||
|
|
1
src/rougail/user_data_environment/__version__.py
Normal file
1
src/rougail/user_data_environment/__version__.py
Normal file
|
@ -0,0 +1 @@
|
||||||
|
__version__ = "0.1.0a9"
|
|
@ -1,6 +1,6 @@
|
||||||
"""
|
"""
|
||||||
Silique (https://www.silique.fr)
|
Silique (https://www.silique.fr)
|
||||||
Copyright (C) 2024
|
Copyright (C) 2024-2025
|
||||||
|
|
||||||
distribued with GPL-2 or later license
|
distribued with GPL-2 or later license
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from rougail.error import DictConsistencyError
|
from rougail.error import DictConsistencyError
|
||||||
from rougail.annotator.variable import Walk
|
from rougail.annotator.variable import Walk
|
||||||
from .i18n import _
|
from .i18n import _
|
||||||
|
@ -42,11 +43,19 @@ class Annotator(Walk):
|
||||||
def check_family(self):
|
def check_family(self):
|
||||||
for family in self.get_families():
|
for family in self.get_families():
|
||||||
if family.name != family.name.lower():
|
if family.name != family.name.lower():
|
||||||
msg = _('family name must be a lowercase name when we want to use user data "environment", so "{0}" is invalid')
|
msg = _(
|
||||||
raise DictConsistencyError(msg.format(family.name), 200, family.xmlfiles)
|
'family name must be a lowercase name when we want to use user data "environment", so "{0}" is invalid'
|
||||||
|
)
|
||||||
|
raise DictConsistencyError(
|
||||||
|
msg.format(family.name), 200, family.xmlfiles
|
||||||
|
)
|
||||||
|
|
||||||
def check_variable(self):
|
def check_variable(self):
|
||||||
for variable in self.get_variables():
|
for variable in self.get_variables():
|
||||||
if variable.name != variable.name.lower():
|
if variable.name != variable.name.lower():
|
||||||
msg = _('variable name must be a lowercase name when we want to use user data "environment", so "{0}" is invalid')
|
msg = _(
|
||||||
raise DictConsistencyError(msg.format(variable.name), 201, variable.xmlfiles)
|
'variable name must be a lowercase name when we want to use user data "environment", so "{0}" is invalid'
|
||||||
|
)
|
||||||
|
raise DictConsistencyError(
|
||||||
|
msg.format(variable.name), 201, variable.xmlfiles
|
||||||
|
)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
Config file for Rougail-user-data-environment
|
Config file for Rougail-user-data-environment
|
||||||
|
|
||||||
Silique (https://www.silique.fr)
|
Silique (https://www.silique.fr)
|
||||||
Copyright (C) 2024
|
Copyright (C) 2024-2025
|
||||||
|
|
||||||
distribued with GPL-2 or later license
|
distribued with GPL-2 or later license
|
||||||
|
|
||||||
|
@ -22,31 +22,31 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def get_rougail_config(*,
|
def get_rougail_config(
|
||||||
backward_compatibility=True,
|
*,
|
||||||
) -> dict:
|
backward_compatibility=True,
|
||||||
|
) -> dict:
|
||||||
options = """
|
options = """
|
||||||
environment:
|
environment:
|
||||||
description: Define values from the environment
|
description: Define values from the environment
|
||||||
disabled:
|
disabled:
|
||||||
jinja: |
|
jinja: |
|
||||||
{% if 'environment' not in step.user_data %}
|
{% if step.user_data is propertyerror or 'environment' not in step.user_data %}
|
||||||
disabled
|
disabled
|
||||||
{% endif %}
|
{% endif %}
|
||||||
default_environment_name:
|
default_environment_name:
|
||||||
description: Name of the default environment prefix
|
description: Name of the default environment prefix
|
||||||
default: rougail
|
default: rougail
|
||||||
disabled:
|
disabled:
|
||||||
jinja: |
|
variable: main_namespace
|
||||||
{% if main_namespace %}
|
when_not: null
|
||||||
use namespaces
|
|
||||||
{% endif %}
|
|
||||||
"""
|
"""
|
||||||
return {'name': 'environment',
|
return {
|
||||||
'process': 'user data',
|
"name": "environment",
|
||||||
'options': options,
|
"process": "user data",
|
||||||
'level': 50,
|
"options": options,
|
||||||
}
|
"level": 50,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
__all__ = ('get_rougail_config',)
|
__all__ = ("get_rougail_config",)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"""
|
"""
|
||||||
Silique (https://www.silique.fr)
|
Silique (https://www.silique.fr)
|
||||||
Copyright (C) 2024
|
Copyright (C) 2024-2025
|
||||||
|
|
||||||
distribued with GPL-2 or later license
|
distribued with GPL-2 or later license
|
||||||
|
|
||||||
|
@ -18,75 +18,80 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from rougail.object_model import CONVERT_OPTION
|
from rougail.tiramisu import CONVERT_OPTION
|
||||||
from rougail.config import RougailConfig
|
from rougail.config import RougailConfig
|
||||||
|
from rougail.error import ExtentionError
|
||||||
from tiramisu.error import ValueOptionError
|
from tiramisu.error import ValueOptionError
|
||||||
|
|
||||||
|
|
||||||
class RougailUserDataEnvironment:
|
class RougailUserDataEnvironment:
|
||||||
def __init__(self,
|
def __init__(
|
||||||
config: 'Config',
|
self,
|
||||||
*,
|
config: "Config",
|
||||||
rougailconfig: RougailConfig=None,
|
*,
|
||||||
):
|
rougailconfig: RougailConfig = None,
|
||||||
|
):
|
||||||
# this is the tiramisu config object
|
# this is the tiramisu config object
|
||||||
self.config = config
|
self.config = config
|
||||||
if rougailconfig is None:
|
if rougailconfig is None:
|
||||||
rougailconfig = RougailConfig
|
rougailconfig = RougailConfig
|
||||||
user_data = rougailconfig['step.user_data']
|
user_data = rougailconfig["step.user_data"]
|
||||||
if 'environment' not in user_data:
|
if "environment" not in user_data:
|
||||||
user_data.append('environment')
|
user_data.append("environment")
|
||||||
rougailconfig['step.user_data'] = user_data
|
rougailconfig["step.user_data"] = user_data
|
||||||
user_data = rougailconfig['step.user_data']
|
user_data = rougailconfig["step.user_data"]
|
||||||
self.rougailconfig = rougailconfig
|
self.rougailconfig = rougailconfig
|
||||||
if 'environment' not in user_data:
|
if "environment" not in user_data:
|
||||||
raise Exception('environment is not set in step.user_data')
|
raise ExtentionError("environment is not set in step.user_data")
|
||||||
self.errors = []
|
self.errors = []
|
||||||
self.warnings = []
|
self.warnings = []
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
values = self.parse()
|
values = self.parse()
|
||||||
return [{'source': 'environment',
|
return [
|
||||||
'errors': self.errors,
|
{
|
||||||
'warnings': self.warnings,
|
"source": "environment variable",
|
||||||
'values': values,
|
"errors": self.errors,
|
||||||
'options': {'multi_separator': ',',
|
"warnings": self.warnings,
|
||||||
'needs_convert': True,
|
"values": values,
|
||||||
},
|
"options": {
|
||||||
}]
|
"multi_separator": ",",
|
||||||
|
"needs_convert": True,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
def parse(self):
|
def parse(self):
|
||||||
variables = {}
|
variables = {}
|
||||||
found_ns = False
|
|
||||||
for option in self.config:
|
for option in self.config:
|
||||||
if option.group_type() == "namespace":
|
if not option.isoptiondescription() or option.group_type() != "namespace":
|
||||||
found_ns = True
|
break
|
||||||
variables.update(get_rougail_environment(option.name()))
|
variables.update(get_rougail_environment(option.name()))
|
||||||
if not found_ns:
|
else:
|
||||||
if self.rougailconfig['main_namespace'] is None:
|
return variables
|
||||||
return get_rougail_environment(self.rougailconfig['environment.default_environment_name'])
|
return get_rougail_environment(
|
||||||
return get_rougail_environment(self.rougailconfig['main_namespace'])
|
None, self.rougailconfig["environment.default_environment_name"]
|
||||||
return variables
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_rougail_environment(namespace):
|
def get_rougail_environment(namespace, environment_name=None):
|
||||||
"""gets all the rougail environment variables and their values
|
"""gets all the rougail environment variables and their values
|
||||||
|
|
||||||
:sample: {'VARINT': '5', 'VARNAME34': '58, 22', 'VARNAME2': 'tata',
|
:sample: {'VARINT': '5', 'VARNAME34': '58, 22', 'VARNAME2': 'tata',
|
||||||
'VARNAME1': 'titi', 'MYFAMILY.VARNAME3': 'spam'}
|
'VARNAME1': 'titi', 'MYFAMILY.VARNAME3': 'spam'}
|
||||||
:returns: rougail environment variables as a key/value dict
|
:returns: rougail environment variables as a key/value dict
|
||||||
"""
|
"""
|
||||||
# first we look at all environment variables
|
|
||||||
all_envvar = os.environ
|
|
||||||
# then we filter the ROUGAIL_ environment variables
|
# then we filter the ROUGAIL_ environment variables
|
||||||
if namespace is None:
|
if namespace is None:
|
||||||
rougail_environment_var = rougail_default_environment_var.upper() + '_'
|
rougail_environment_var = environment_name.upper() + "_"
|
||||||
len_env = len(rougail_environment_var) + 1
|
|
||||||
root = ''
|
|
||||||
else:
|
|
||||||
rougail_environment_var = namespace.upper() + '_'
|
|
||||||
len_env = len(rougail_environment_var)
|
len_env = len(rougail_environment_var)
|
||||||
root = namespace.lower() + '.'
|
else:
|
||||||
return {root + envvar[len_env:].lower(): envval
|
rougail_environment_var = namespace.upper() + "."
|
||||||
for envvar, envval in all_envvar.items()
|
len_env = 0
|
||||||
if envvar.startswith(rougail_environment_var)}
|
return {
|
||||||
|
envvar[len_env:].lower(): envval
|
||||||
|
for envvar, envval in os.environ.items()
|
||||||
|
if envvar.startswith(rougail_environment_var)
|
||||||
|
}
|
||||||
|
|
1
tests/errors/environment/00_unknown_variable.env
Normal file
1
tests/errors/environment/00_unknown_variable.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_UNKNOWN=1
|
2
tests/errors/environment/01_disabled_family.env
Normal file
2
tests/errors/environment/01_disabled_family.env
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ROUGAIL_FAMILY_DISABLED.VARIABLE1=test
|
||||||
|
ROUGAIL_FAMILY_DISABLED.VARIABLE2=test
|
1
tests/errors/environment/01_disabled_variable.env
Normal file
1
tests/errors/environment/01_disabled_variable.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_VARIABLE_DISABLED=test
|
1
tests/errors/environment/01_wrong_type.env
Normal file
1
tests/errors/environment/01_wrong_type.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_VARIABLE_INT=test
|
1
tests/errors/environment/02_disabled_hidden_family.env
Normal file
1
tests/errors/environment/02_disabled_hidden_family.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_FAMILY_DISABLED_HIDDEN.VARIABLE1=test
|
1
tests/errors/environment/04_value_secret.env
Normal file
1
tests/errors/environment/04_value_secret.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_SECRET=a
|
1
tests/errors/environment/05_value_family.env
Normal file
1
tests/errors/environment/05_value_family.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_FAMILY=test
|
1
tests/errors/environment/06_dynamic_unknown.env
Normal file
1
tests/errors/environment/06_dynamic_unknown.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
ROUGAIL_DYN_UNKNOWN.VARIABLE=test
|
4
tests/errors/environment/07_leadership_disabled.env
Normal file
4
tests/errors/environment/07_leadership_disabled.env
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
ROUGAIL_LEADERSHIP.LEADER=test1,test2,test3
|
||||||
|
ROUGAIL_LEADERSHIP.FOLLOWER=test1,test2,test3
|
||||||
|
ROUGAIL_LEADERSHIP.FOLLOWER_DISABLED=test1,test2,test3
|
||||||
|
ROUGAIL_LEADERSHIP.FOLLOWER_DISABLED_AT_INDEX=test1,test2,test3
|
2
tests/errors/environment/07_leadership_unknown.env
Normal file
2
tests/errors/environment/07_leadership_unknown.env
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ROUGAIL_LEADERSHIP.LEADER=test
|
||||||
|
ROUGAIL_LEADERSHIP.UNKNWON=test
|
2
tests/errors/environment/07_leadership_wrong_len.env
Normal file
2
tests/errors/environment/07_leadership_wrong_len.env
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ROUGAIL_LEADERSHIP.LEADER=test
|
||||||
|
ROUGAIL_LEADERSHIP.FOLLOWER=test1,test2
|
6
tests/errors/results/00_unknown_variable.env
Normal file
6
tests/errors/results/00_unknown_variable.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"variable or family \"unknown\" does not exist, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
7
tests/errors/results/01_disabled_family.env
Normal file
7
tests/errors/results/01_disabled_family.env
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"family \"family_disabled\" is disabled, \"family_disabled.variable1\" will be ignored when loading from environment variable",
|
||||||
|
"family \"family_disabled\" is disabled, \"family_disabled.variable2\" will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/01_disabled_variable.env
Normal file
6
tests/errors/results/01_disabled_variable.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"variable \"variable_disabled\" is disabled, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/01_wrong_type.env
Normal file
6
tests/errors/results/01_wrong_type.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"the value \"test\" is invalid for \"variable_int\", which is not an integer, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/02_disabled_hidden_family.env
Normal file
6
tests/errors/results/02_disabled_hidden_family.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"family \"family_disabled_hidden\" is disabled and hidden, \"family_disabled_hidden.variable1\" will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/04_value_secret.env
Normal file
6
tests/errors/results/04_value_secret.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"the value \"**********\" is invalid for \"secret\", at least 10 characters are required, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/05_value_family.env
Normal file
6
tests/errors/results/05_value_family.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"cannot set the value \"test\" to the family \"family\", it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/06_dynamic_unknown.env
Normal file
6
tests/errors/results/06_dynamic_unknown.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"variable or family \"dyn_unknown\" does not exist, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
9
tests/errors/results/07_leadership_disabled.env
Normal file
9
tests/errors/results/07_leadership_disabled.env
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"variable \"leadership.follower_disabled\" at index \"0\" is disabled, it will be ignored when loading from environment variable",
|
||||||
|
"variable \"leadership.follower_disabled\" at index \"1\" is disabled, it will be ignored when loading from environment variable",
|
||||||
|
"variable \"leadership.follower_disabled\" at index \"2\" is disabled, it will be ignored when loading from environment variable",
|
||||||
|
"variable \"leadership.follower_disabled_at_index\" at index \"1\" is disabled, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/07_leadership_unknown.env
Normal file
6
tests/errors/results/07_leadership_unknown.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"variable or family \"leadership.unknwon\" does not exist, it will be ignored when loading from environment variable"
|
||||||
|
]
|
||||||
|
}
|
6
tests/errors/results/07_leadership_wrong_len.env
Normal file
6
tests/errors/results/07_leadership_wrong_len.env
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"errors": [],
|
||||||
|
"warnings": [
|
||||||
|
"index \"1\" is greater than the leadership length \"1\" for option \"leadership.follower\" in environment variable"
|
||||||
|
]
|
||||||
|
}
|
68
tests/errors/structure/rougail/00_rougail.yml
Normal file
68
tests/errors/structure/rougail/00_rougail.yml
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
variable:
|
||||||
|
|
||||||
|
secret:
|
||||||
|
type: secret
|
||||||
|
params:
|
||||||
|
min_len: 10
|
||||||
|
|
||||||
|
variable_disabled:
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
variable_disabled_hidden:
|
||||||
|
disabled: true
|
||||||
|
hidden: true
|
||||||
|
|
||||||
|
variable_int:
|
||||||
|
type: number
|
||||||
|
|
||||||
|
family:
|
||||||
|
|
||||||
|
variable:
|
||||||
|
|
||||||
|
family_disabled:
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
variable1:
|
||||||
|
|
||||||
|
variable2:
|
||||||
|
|
||||||
|
family_disabled_hidden:
|
||||||
|
disabled: true
|
||||||
|
hidden: true
|
||||||
|
|
||||||
|
variable1:
|
||||||
|
|
||||||
|
variable2:
|
||||||
|
|
||||||
|
dyn_{{ identifier }}:
|
||||||
|
dynamic:
|
||||||
|
- var1
|
||||||
|
- var2
|
||||||
|
|
||||||
|
variable:
|
||||||
|
|
||||||
|
leadership:
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
|
||||||
|
follower:
|
||||||
|
|
||||||
|
follower_disabled:
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
follower_disabled_at_index:
|
||||||
|
disabled:
|
||||||
|
jinja: >-
|
||||||
|
{% if index == 1 %}
|
||||||
|
true
|
||||||
|
{% else %}
|
||||||
|
{% endif %}
|
||||||
|
params:
|
||||||
|
index:
|
||||||
|
type: index
|
||||||
|
...
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var1": "string1"
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var1": "string1"
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"\"1\" est une valeur invalide pour l'option \"rougail.var6 (the sixth variable)\" de type choice, seul \"1\", \"2\" et \"3\" sont autoris\u00e9es"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.variable": "rougail"
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.variable": "value"
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.variable": [
|
|
||||||
"[]"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var\" (autosave variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var2\" (a second variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var2\" (a second variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_CONDITION="string1"
|
|
||||||
ROUGAIL_VARIABLE1="string1"
|
|
||||||
ROUGAIL_VARIABLE2="string1"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_CONDITION="string1"
|
|
||||||
ROUGAIL_VARIABLE1="string1"
|
|
||||||
ROUGAIL_VARIABLE2="string1"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_VARIABLE1="string1"
|
|
||||||
ROUGAIL_VARIABLE2="string1"
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var1\" (a first variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\" (unknown is undefined)"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var1\" (a first variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\" (condition is yes)",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var2\" (a second variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\" (condition is yes)"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\" (true)"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\" (true)"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.var1\" (a first variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VAR1="string1"
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VAR1="string1"
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VARIABLE="string1"
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VARIABLE="string1"
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VARIABLE="string1"
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VARIABLE="string1"
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.leader\" \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.my_family\" (This is a great family) \u00e0 cause des propri\u00e9t\u00e9s \"disabled\" et \"hidden\"",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.my_family\" (This is a great family) \u00e0 cause des propri\u00e9t\u00e9s \"disabled\" et \"hidden\"",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.my_family\" (This is a great family) \u00e0 cause des propri\u00e9t\u00e9s \"disabled\" et \"hidden\"",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.my_family\" (This is a great family) \u00e0 cause des propri\u00e9t\u00e9s \"disabled\" et \"hidden\"",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.my_family\" (This is a great family) \u00e0 cause des propri\u00e9t\u00e9s \"disabled\" et \"hidden\"",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.my_family\" (This is a great family) \u00e0 cause des propri\u00e9t\u00e9s \"disabled\" et \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_CONDITION="True"
|
|
||||||
ROUGAIL_FAMILY.VARIABLE="string1"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_CONDITION="True"
|
|
||||||
ROUGAIL_FAMILY.VARIABLE="string1"
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" (possibly hidden family) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.family.variable\" (a variable) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\" (condition2 is true)"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_CONDITION1="True"
|
|
||||||
ROUGAIL_CONDITION2="True"
|
|
||||||
ROUGAIL_FAMILY.VARIABLE="string1"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_CONDITION1="True"
|
|
||||||
ROUGAIL_CONDITION2="True"
|
|
||||||
ROUGAIL_FAMILY.VARIABLE="string1"
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\"",
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.family\" \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_LEADER.LEADER="string1,string2,string3"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER1="1,2,3"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_LEADER.LEADER="string1,string2,string3"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER1="1,2,3"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_LEADER.LEADER="string1,string2,string3"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER1="1,2,3"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_LEADER.LEADER="string1,string2,string3"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER1="1,2,3"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_LEADER.FOLLOWER1="string1,string2"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER2="string1,string2"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_VAR1="string1"
|
|
||||||
ROUGAIL_VAR2="True"
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_VAR1="string1"
|
|
||||||
ROUGAIL_VAR2="True"
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_VAR2="True"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_BOOL="True"
|
|
||||||
ROUGAIL_INT1="1"
|
|
||||||
ROUGAIL_INT2="1"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_BOOL="True"
|
|
||||||
ROUGAIL_INT1="1"
|
|
||||||
ROUGAIL_INT2="1"
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.leader\" (a leadership) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.leader\" (a leadership) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'optiondescription \"rougail.leader\" (a leadership) \u00e0 cause de la propri\u00e9t\u00e9 \"hidden\""
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_CONDITION="True"
|
|
||||||
ROUGAIL_LEADER.LEADER="string1,string2,string3"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER="string1,string2,string3"
|
|
|
@ -1 +0,0 @@
|
||||||
ROUGAIL_LEADER.FOLLOWER="string1"
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [
|
|
||||||
"ne peut acc\u00e9der \u00e0 l'option \"rougail.leader.follower\" (a follower) \u00e0 cause de la propri\u00e9t\u00e9 \"disabled\" (disabled)"
|
|
||||||
],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
ROUGAIL_LEADER.LEADER="string1,string2,string3"
|
|
||||||
ROUGAIL_LEADER.FOLLOWER="string1,string2,string3"
|
|
|
@ -1,4 +0,0 @@
|
||||||
ROUGAIL_VAR="string1,string2,string3"
|
|
||||||
ROUGAIL_DYNSTRING1.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VARDYN="string1"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_DYNSTRING1.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VARDYN="string1"
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var": [
|
|
||||||
"string1",
|
|
||||||
"string2",
|
|
||||||
"string3"
|
|
||||||
],
|
|
||||||
"rougail.dynstring1.vardyn": "string1",
|
|
||||||
"rougail.dynstring2.vardyn": "string1",
|
|
||||||
"rougail.dynstring3.vardyn": "string1"
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
ROUGAIL_VAR="string1,string2,string3"
|
|
||||||
ROUGAIL_DYNSTRING1.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VARDYN="string1"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_DYNSTRING1.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VARDYN="string1"
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var": [
|
|
||||||
"string1",
|
|
||||||
"string2",
|
|
||||||
"string3"
|
|
||||||
],
|
|
||||||
"rougail.dynstring1.vardyn": "string1",
|
|
||||||
"rougail.dynstring2.vardyn": "string1",
|
|
||||||
"rougail.dynstring3.vardyn": "string1"
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
ROUGAIL_VAR="string1,string2,string3"
|
|
||||||
ROUGAIL_DYNSTRING1.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VARDYN="string1"
|
|
|
@ -1,3 +0,0 @@
|
||||||
ROUGAIL_DYNSTRING1.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VARDYN="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VARDYN="string1"
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var": [
|
|
||||||
"string1",
|
|
||||||
"string2",
|
|
||||||
"string3"
|
|
||||||
],
|
|
||||||
"rougail.dynstring1.vardyn": "string1",
|
|
||||||
"rougail.dynstring2.vardyn": "string1",
|
|
||||||
"rougail.dynstring3.vardyn": "string1"
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
ROUGAIL_VAR="1,2,3"
|
|
||||||
ROUGAIL_DYN1.VAR="string1"
|
|
||||||
ROUGAIL_DYN2.VAR="string1"
|
|
||||||
ROUGAIL_DYN3.VAR="string1"
|
|
||||||
ROUGAIL_VAR2="string1"
|
|
|
@ -1,4 +0,0 @@
|
||||||
ROUGAIL_DYN1.VAR="string1"
|
|
||||||
ROUGAIL_DYN2.VAR="string1"
|
|
||||||
ROUGAIL_DYN3.VAR="string1"
|
|
||||||
ROUGAIL_VAR2="string1"
|
|
|
@ -1,4 +0,0 @@
|
||||||
ROUGAIL_VAR="string1,string2,string3"
|
|
||||||
ROUGAIL_DYNSTRING1.VAR="string1"
|
|
||||||
ROUGAIL_DYNSTRING2.VAR="string1"
|
|
||||||
ROUGAIL_DYNSTRING3.VAR="string1"
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue