46 lines
1.1 KiB
Python
Executable File
46 lines
1.1 KiB
Python
Executable File
# Copyright (C) 2020-2022 Intel Corporation
|
|
# Copyright (C) CVAT.ai Corporation
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
import argparse
|
|
import logging
|
|
import sys
|
|
|
|
import urllib3.exceptions
|
|
from cvat_sdk import exceptions
|
|
|
|
from ._internal.commands_all import COMMANDS
|
|
from ._internal.common import (
|
|
CriticalError,
|
|
build_client,
|
|
configure_common_arguments,
|
|
configure_logger,
|
|
)
|
|
from ._internal.utils import popattr
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def main(args: list[str] = None):
|
|
parser = argparse.ArgumentParser(description=COMMANDS.description)
|
|
configure_common_arguments(parser)
|
|
COMMANDS.configure_parser(parser)
|
|
|
|
parsed_args = parser.parse_args(args)
|
|
|
|
configure_logger(logger, parsed_args)
|
|
|
|
try:
|
|
with build_client(parsed_args, logger=logger) as client:
|
|
popattr(parsed_args, "_executor")(client, **vars(parsed_args))
|
|
except (exceptions.ApiException, urllib3.exceptions.HTTPError, CriticalError) as e:
|
|
logger.critical(e)
|
|
return 1
|
|
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|