| import argparse |
|
|
| from .. import __version__ |
| from .create import CreateCompetitionAppCommand |
| from .run import RunCompetitionsAppCommand |
| from .submit import SubmitCompetitionAppCommand |
|
|
|
|
| def main(): |
| parser = argparse.ArgumentParser( |
| "Competitions CLI", |
| usage="competitions <command> [<args>]", |
| epilog="For more information about a command, run: `competitions <command> --help`", |
| ) |
| parser.add_argument("--version", "-v", help="Display competitions version", action="store_true") |
| commands_parser = parser.add_subparsers(help="commands") |
|
|
| |
| RunCompetitionsAppCommand.register_subcommand(commands_parser) |
| CreateCompetitionAppCommand.register_subcommand(commands_parser) |
| SubmitCompetitionAppCommand.register_subcommand(commands_parser) |
|
|
| args = parser.parse_args() |
|
|
| if args.version: |
| print(__version__) |
| exit(0) |
|
|
| if not hasattr(args, "func"): |
| parser.print_help() |
| exit(1) |
|
|
| command = args.func(args) |
| command.run() |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|