コード例 #1
0
ファイル: task_api.py プロジェクト: niteshroyal/synthlog
    if args.dev:
        logging.basicConfig(level=logging.DEBUG)

    # noinspection PyBroadException
    try:
        if args.action == action_get:
            if args.state_id:
                state = state_manager.get_state(args.state_id)
            else:
                state = state_manager.get_latest_state(args.file_path)

            context = json.loads(args.context) if args.context else None
            task_manager = TaskManager()
            tasks = task_manager.get_suggested_tasks(state, context)
            print(json.dumps(tasks))
            task_manager.close_db()

        elif args.action == action_execute:
            task_manager = TaskManager()
            new_state = task_manager.execute_task(args.task_id)
            state_manager.add_state(new_state)

            print(
                json.dumps(state_manager.jsonify(new_state),
                           indent=(3 if args.dev else None)))
            task_manager.close_db()
    except Exception:
        if args.dev:
            raise
        else:
            print(json.dumps({"exception": traceback.format_exc()}))