Compare commits
No commits in common. "main" and "1.0.0rc2" have entirely different histories.
14 changed files with 68 additions and 119 deletions
60
CHANGELOG.md
60
CHANGELOG.md
|
|
@ -1,21 +1,63 @@
|
||||||
## 1.0.0 (2026-06-21)
|
## 1.0.0rc2 (2026-06-18)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- dependencies
|
||||||
|
|
||||||
|
## 1.0.0rc1 (2026-06-18)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- dependencies
|
||||||
|
|
||||||
|
## 0.1.0a7 (2026-06-12)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- add allow_unknown option
|
||||||
|
|
||||||
|
## 0.1.0a6 (2026-05-04)
|
||||||
|
|
||||||
### Feat
|
### Feat
|
||||||
|
|
||||||
- multi layers
|
- multi layers
|
||||||
- add tests
|
|
||||||
- first version
|
## 0.1.0a5 (2026-01-21)
|
||||||
|
|
||||||
### Fix
|
### Fix
|
||||||
|
|
||||||
- rougail dependencies
|
|
||||||
- black
|
|
||||||
- update tests
|
|
||||||
- dependencies
|
|
||||||
- dependencies
|
|
||||||
- add allow_unknown option
|
|
||||||
- update tests
|
- update tests
|
||||||
|
|
||||||
|
## 0.1.0a4 (2025-12-30)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
- update tests
|
- update tests
|
||||||
|
|
||||||
|
## 0.1.0a3 (2025-11-21)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
- ExtentionError => ExtensionError
|
- ExtentionError => ExtensionError
|
||||||
|
|
||||||
|
## 0.1.0a2 (2025-11-06)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
- update tests
|
- update tests
|
||||||
|
|
||||||
|
## 0.1.0a1 (2025-10-10)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- add tests
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
- remove print
|
- remove print
|
||||||
|
|
||||||
|
## 0.1.0a0 (2025-10-06)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- first version
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "rougail.user_data_commandline"
|
name = "rougail.user_data_commandline"
|
||||||
version = "1.0.0"
|
version = "1.0.0rc2"
|
||||||
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 Bitwarden"
|
description = "Rougail user_data Bitwarden"
|
||||||
|
|
@ -24,8 +24,8 @@ classifiers = [
|
||||||
|
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rougail >= 1.2.0,<2",
|
"rougail >= 1.1,<2",
|
||||||
"tiramisu_cmdline_parser >= 1.0.0,<2",
|
"tiramisu_cmdline_parser > 0.6,<2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.urls]
|
[project.urls]
|
||||||
|
|
|
||||||
|
|
@ -25,15 +25,15 @@ from .__version__ import __version__
|
||||||
|
|
||||||
|
|
||||||
class RougailUserDataCommandline:
|
class RougailUserDataCommandline:
|
||||||
"""Load parameter for commande line"""
|
"""Load parameter for commande line
|
||||||
|
"""
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
config: "Config",
|
config: "Config",
|
||||||
*,
|
*,
|
||||||
rougailconfig: "RougailConfig" = None,
|
rougailconfig: "RougailConfig" = None,
|
||||||
arguments=None,
|
arguments = None,
|
||||||
prog=None,
|
prog = None,
|
||||||
allow_unknown: bool = False,
|
allow_unknown: bool = False,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
|
|
@ -56,7 +56,10 @@ class RougailUserDataCommandline:
|
||||||
self.warnings = []
|
self.warnings = []
|
||||||
self.allow_unknown = allow_unknown
|
self.allow_unknown = allow_unknown
|
||||||
self.parser = TiramisuCmdlineParser(
|
self.parser = TiramisuCmdlineParser(
|
||||||
self.config, prog=prog, exit_on_error=False, **kwargs
|
self.config,
|
||||||
|
prog=prog,
|
||||||
|
exit_on_error=False,
|
||||||
|
**kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
|
@ -73,13 +76,10 @@ class RougailUserDataCommandline:
|
||||||
if not option.isfollower():
|
if not option.isfollower():
|
||||||
values[key] = self.config.option(key).value.get()
|
values[key] = self.config.option(key).value.get()
|
||||||
else:
|
else:
|
||||||
values[key] = [
|
values[key] = [self.config.option(key, index).value.get() for index in range(option.value.len())]
|
||||||
self.config.option(key, index).value.get()
|
|
||||||
for index in range(option.value.len())
|
|
||||||
]
|
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
"source": _("the command line"),
|
"source": _('the command line'),
|
||||||
"errors": self.errors,
|
"errors": self.errors,
|
||||||
"warnings": self.warnings,
|
"warnings": self.warnings,
|
||||||
"values": values,
|
"values": values,
|
||||||
|
|
|
||||||
|
|
@ -1 +1,2 @@
|
||||||
__version__ = "1.0.0"
|
__version__ = "1.0.0rc2"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,8 @@ from gettext import translation
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
t = translation(
|
t = translation(
|
||||||
"rougail_user_data_commandline",
|
"rougail_user_data_commandline", str(Path(__file__).parent / "locale"), fallback=True
|
||||||
str(Path(__file__).parent / "locale"),
|
|
||||||
fallback=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_ = t.gettext
|
_ = t.gettext
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"errors": [],
|
|
||||||
"warnings": []
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
[
|
|
||||||
"--rougail.var",
|
|
||||||
"val1",
|
|
||||||
"val2",
|
|
||||||
"--rougail.dynval1.variable",
|
|
||||||
"string1",
|
|
||||||
"--rougail.dynval2.variable",
|
|
||||||
"string1"
|
|
||||||
]
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
[
|
|
||||||
"--rougail.dynval1.variable",
|
|
||||||
"string1",
|
|
||||||
"--rougail.dynval2.variable",
|
|
||||||
"string1"
|
|
||||||
]
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var": [
|
|
||||||
"val1",
|
|
||||||
"val2"
|
|
||||||
],
|
|
||||||
"rougail.dynval1.variable": "string1",
|
|
||||||
"rougail.dynval2.variable": "string1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.var": [
|
|
||||||
"val1",
|
|
||||||
"val2"
|
|
||||||
],
|
|
||||||
"rougail.dynval1.variable": "string1",
|
|
||||||
"rougail.dynval2.variable": "string1"
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
%YAML 1.2
|
|
||||||
---
|
|
||||||
version: 1.1
|
|
||||||
|
|
||||||
my_variable: # My variable
|
|
||||||
...
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
from rougail import Rougail
|
|
||||||
from rougail.user_data_commandline import RougailUserDataCommandline as RougailUserData
|
|
||||||
|
|
||||||
from rougail_tests.utils import get_rougail_config, config_to_dict
|
|
||||||
|
|
||||||
|
|
||||||
def test_error():
|
|
||||||
rougailconfig = get_rougail_config(Path('tests/structures/'), True)
|
|
||||||
##################################
|
|
||||||
rougailconfig['step.user_data'] = ['commandline']
|
|
||||||
##################################
|
|
||||||
rougail = Rougail(rougailconfig)
|
|
||||||
config = rougail.run()
|
|
||||||
arguments = ['--rougail.unknown', 'an other value']
|
|
||||||
generated_user_data = RougailUserData(config, rougailconfig=rougailconfig, arguments=arguments).run()
|
|
||||||
err_warn = rougail.user_data(generated_user_data)
|
|
||||||
assert err_warn == {'errors': ['unrecognized arguments: --rougail.unknown an other value'], 'warnings': []}
|
|
||||||
assert dict(config_to_dict(config.value.get())) == {'rougail.my_variable': None}
|
|
||||||
|
|
||||||
|
|
||||||
def test_allow_unknown_error():
|
|
||||||
rougailconfig = get_rougail_config(Path('tests/structures/'), True)
|
|
||||||
##################################
|
|
||||||
rougailconfig['step.user_data'] = ['commandline']
|
|
||||||
##################################
|
|
||||||
rougail = Rougail(rougailconfig)
|
|
||||||
config = rougail.run()
|
|
||||||
arguments = ['--rougail.my_variable', 'a value', '--rougail.unknown', 'an other value']
|
|
||||||
generated_user_data = RougailUserData(config, rougailconfig=rougailconfig, arguments=arguments).run()
|
|
||||||
err_warn = rougail.user_data(generated_user_data)
|
|
||||||
assert err_warn == {'errors': ['unrecognized arguments: --rougail.unknown an other value'], 'warnings': []}
|
|
||||||
assert dict(config_to_dict(config.value.get())) == {'rougail.my_variable': 'a value'}
|
|
||||||
|
|
||||||
|
|
||||||
def test_allow_unknown():
|
|
||||||
rougailconfig = get_rougail_config(Path('tests/structures/'), True)
|
|
||||||
##################################
|
|
||||||
rougailconfig['step.user_data'] = ['commandline']
|
|
||||||
##################################
|
|
||||||
rougail = Rougail(rougailconfig)
|
|
||||||
config = rougail.run()
|
|
||||||
arguments = ['--rougail.my_variable', 'a value', '--rougail.unknown', 'an other value']
|
|
||||||
generated_user_data = RougailUserData(config, rougailconfig=rougailconfig, arguments=arguments, allow_unknown=True).run()
|
|
||||||
err_warn = rougail.user_data(generated_user_data)
|
|
||||||
assert err_warn == {'errors': [], 'warnings': []}
|
|
||||||
assert dict(config_to_dict(config.value.get())) == {'rougail.my_variable': 'a value'}
|
|
||||||
Loading…
Reference in a new issue