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)