Пример #1
0
    action_load = "load"
    load_parser = subparsers.add_parser(action_load)
    load_parser.add_argument(
        "state_id", help="The id of the state to be loaded", type=int
    )

    args = parser.parse_args()
    manager = StateManager()

    # noinspection PyBroadException
    try:
        if args.action == action_initialize:
            state = manager.get_latest_state(args.file_path, args.sheet_name)

            if state is None:
                state = manager.create_empty_state(args.file_path, args.sheet_name)
                manager.add_state(state)
                assert state is not None

            manager.print_state(state)

        elif args.action == action_load:
            state = manager.get_state(args.state_id)
            manager.set_latest(state)
            manager.print_state(state)

    except Exception as e:
        print(json.dumps({"exception": traceback.format_exc()}))
    finally:
        manager.close_db()