From e6582d6d9d3f4ed3643f48c068270c455a9d015b Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 17 Feb 2025 10:01:23 +0100 Subject: [PATCH] fix: better error support --- src/rougail/cli/__main__.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/rougail/cli/__main__.py b/src/rougail/cli/__main__.py index 22a3d0b..7fb3cdb 100644 --- a/src/rougail/cli/__main__.py +++ b/src/rougail/cli/__main__.py @@ -46,13 +46,19 @@ def _main(): fake_rougail_config = {'step.user_data': 'environment', 'environment.default_environment_name': 'ROUGAILCLI', } - UserDatas(cmd_config).user_datas(RougailUserDataEnvironment(cmd_config, rougailconfig=fake_rougail_config).run()) + user_data = UserDatas(cmd_config).user_datas(RougailUserDataEnvironment(cmd_config, rougailconfig=fake_rougail_config).run()) + if user_data["errors"]: + raise Exception(user_data["errors"][0]) + if user_data["warnings"]: + raise Exception(user_data["warnings"][0]) parser = TiramisuCmdlineParser( cmd_config, add_extra_options=False, short_name_max_len=2, ) parser.parse_args() + global print_traceback + print_traceback = rougailconfig["cli.debug"] cmd_config.property.setdefault(origin_prop, 'read_write', 'append') cmd_config.property.remove("not_for_commandline") cmd_config.property.read_only() @@ -129,8 +135,13 @@ def _main(): def main(): + global print_traceback + print_traceback = False try: _main() except Exception as err: + if print_traceback: + import traceback + traceback.print_exc() print(_("ERROR: {0}").format(err)) exit(1)