Compare commits

..

No commits in common. "main" and "0.1.0a7" have entirely different histories.

14 changed files with 56 additions and 119 deletions

View file

@ -1,21 +1,51 @@
## 1.0.0 (2026-06-21) ## 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

View file

View file

@ -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 = "0.1.0a7"
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,<1",
] ]
[project.urls] [project.urls]

View file

@ -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,

View file

@ -1 +1,2 @@
__version__ = "1.0.0" __version__ = "0.1.0a7"

View file

@ -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

View file

@ -1,4 +0,0 @@
{
"errors": [],
"warnings": []
}

View file

@ -1,4 +0,0 @@
{
"errors": [],
"warnings": []
}

View file

@ -1,9 +0,0 @@
[
"--rougail.var",
"val1",
"val2",
"--rougail.dynval1.variable",
"string1",
"--rougail.dynval2.variable",
"string1"
]

View file

@ -1,6 +0,0 @@
[
"--rougail.dynval1.variable",
"string1",
"--rougail.dynval2.variable",
"string1"
]

View file

@ -1,8 +0,0 @@
{
"rougail.var": [
"val1",
"val2"
],
"rougail.dynval1.variable": "string1",
"rougail.dynval2.variable": "string1"
}

View file

@ -1,8 +0,0 @@
{
"rougail.var": [
"val1",
"val2"
],
"rougail.dynval1.variable": "string1",
"rougail.dynval2.variable": "string1"
}

View file

@ -1,6 +0,0 @@
%YAML 1.2
---
version: 1.1
my_variable: # My variable
...

View file

@ -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'}