Compare commits

..

2 commits

5 changed files with 62 additions and 9 deletions

View file

@ -37,7 +37,7 @@ except ImportError:
from .i18n import _ from .i18n import _
def _main(): def _main(arguments, do_not_print):
rougailconfig = get_rougail_config( rougailconfig = get_rougail_config(
backward_compatibility=False, add_extra_options=False backward_compatibility=False, add_extra_options=False
) )
@ -69,10 +69,10 @@ def _main():
raise Exception(user_data["warnings"][0]) raise Exception(user_data["warnings"][0])
parser = TiramisuCmdlineParser( parser = TiramisuCmdlineParser(
cmd_config, cmd_config,
add_extra_options=False, # add_extra_options=False,
short_name_max_len=2, short_name_max_len=2,
) )
parser.parse_args() parser.parse_args(arguments)
global print_traceback global print_traceback
print_traceback = rougailconfig["cli.debug"] print_traceback = rougailconfig["cli.debug"]
cmd_config.property.setdefault(origin_prop, 'read_write', 'append') cmd_config.property.setdefault(origin_prop, 'read_write', 'append')
@ -163,21 +163,24 @@ def _main():
_('cannot find cli file for "output_name" module "{0}"').format(output_name) _('cannot find cli file for "output_name" module "{0}"').format(output_name)
) )
module = load_modules("rougail.output_" + output_name, str(path)) module = load_modules("rougail.output_" + output_name, str(path))
ret = module.RougailOutput( output = module.RougailOutput(
config=config, config=config,
rougailconfig=rougailconfig, rougailconfig=rougailconfig,
user_data_errors=err_warn["errors"], user_data_errors=err_warn["errors"],
user_data_warnings=err_warn["warnings"], user_data_warnings=err_warn["warnings"],
).print() )
if do_not_print:
return output.run()
ret = output.print()
if ret is False: if ret is False:
exit(1) exit(1)
def main(): def main(arguments=None, do_not_print=False):
global print_traceback global print_traceback
print_traceback = True print_traceback = True
try: try:
_main() return _main(arguments, do_not_print)
except Exception as err: except Exception as err:
if print_traceback: if print_traceback:
import traceback import traceback

View file

@ -37,12 +37,10 @@ cli:
debug: debug:
description: {_('display debug informations')} description: {_('display debug informations')}
negative_description: {_('do not display debug informations')}
default: false default: false
versions: versions:
description: {_('display rougail version and all componants')} description: {_('display rougail version and all componants')}
negative_description: {_('do not display rougail version and all componants')}
default: false default: false
""" """
return { return {

5
tests/cli/result.txt Normal file
View file

@ -0,0 +1,5 @@
╭─────── Caption ────────╮
│ Variable Default value │
╰────────────────────────╯
Variables:
┗━━ 📓 my_variable: my_value

View file

@ -0,0 +1,4 @@
---
version: 1.1
my_variable: my_value

43
tests/test_load.py Normal file
View file

@ -0,0 +1,43 @@
from pathlib import Path
from os import chdir
from rougail.cli.__main__ import main
test_dir = Path(__file__).parent
def test_cli():
chdir(test_dir / 'cli')
ret = main(['--main_dictionaries', 'structures'], do_not_print=True)
filename = Path('result.txt')
if not filename.is_file():
with filename.open('w') as fh:
fh.write(ret[1])
with filename.open() as fh:
data = fh.read()
assert ret == (True, data)
def test_cli_boolean():
chdir(test_dir / 'cli')
ret = main(['--main_dictionaries', 'structures', '--console.mandatory'], do_not_print=True)
filename = Path('result.txt')
if not filename.is_file():
with filename.open('w') as fh:
fh.write(ret[1])
with filename.open() as fh:
data = fh.read()
assert ret == (True, data)
def test_cli_boolean_2():
chdir(test_dir / 'cli')
ret = main(['--main_dictionaries', 'structures', '--console.no-mandatory'], do_not_print=True)
filename = Path('result.txt')
if not filename.is_file():
with filename.open('w') as fh:
fh.write(ret[1])
with filename.open() as fh:
data = fh.read()
assert ret == (True, data)