#!/usr/bin/python3 """Zephir-cmd-input script """ from os import environ from sys import exit, argv from traceback import print_exc from json import dumps from cucchiaiata import Parser, config, Configuration, JsonError from cucchiaiata.i18n import _ from cucchiaiata.output.interactive import get as interactive_get from cucchiaiata.output.json import get as json_get def main(): dico = {'interactive': interactive_get, 'json': json_get, } default_outputs = ','.join(dico.keys()) outputs = [dico[output] for output in environ.get('RISOTTO_OUTPUT', default_outputs).split(',')] try: if len(argv) > 2 and argv[1] == 'v1.setting.session.configure': Configuration().get() else: parser = Parser() message = parser.remote_config.option('message').value.get() for output in outputs: func = output(message) if func: func(parser.get(), config, ) break except KeyboardInterrupt: pass except JsonError as err: print(dumps(err.message, indent=config.indent), ) exit(1) except Exception as err: if config.debug: print_exc() print(_('Error: {}').format(err)) exit(1) if __name__ == "__main__": main()