autograder.cli.metadata.describe

Describe all endpoints on the server.

usage: python3 -m autograder.cli.metadata.describe [-h] [--version]
                                                   [--server SERVER]
                                                   [--force-compute]
                                                   [--testing-mode]

Describe all endpoints on the server.

options:
    -h, --help       show this help message and exit
    --version        show program's version number and exit

command-specific options:
    --server SERVER  The URL of the autograder server to communicate with.
    --force-compute  Force the server to compute the result, ignoring any
                     existing cache.

testing options:
    --testing-mode   Run as if a test is being run (default: False).
 1"""
 2Describe all endpoints on the server.
 3"""
 4
 5import argparse
 6import sys
 7
 8import edq.util.json
 9
10import autograder.api.metadata.describe
11import autograder.cli.parser
12
13def run_cli(args: argparse.Namespace) -> int:
14    """ Run the CLI. """
15
16    config = args._config_info.application_config
17
18    result = autograder.api.metadata.describe.send(config, exit_on_error = True)
19    print(edq.util.json.dumps(result, indent = 4))
20
21    return 0
22
23def main() -> int:
24    """ Get a parser, parse the args, and call run. """
25
26    return run_cli(_get_parser().parse_args())
27
28def _get_parser() -> argparse.ArgumentParser:
29    """ Get a parser for this operation. """
30
31    parser = autograder.cli.parser.get_parser(
32        __doc__.strip(),
33        autograder.api.metadata.describe.API_PARAMS,
34    )
35
36    return parser
37
38if (__name__ == '__main__'):
39    sys.exit(main())
def run_cli(args: argparse.Namespace) -> int:
14def run_cli(args: argparse.Namespace) -> int:
15    """ Run the CLI. """
16
17    config = args._config_info.application_config
18
19    result = autograder.api.metadata.describe.send(config, exit_on_error = True)
20    print(edq.util.json.dumps(result, indent = 4))
21
22    return 0

Run the CLI.

def main() -> int:
24def main() -> int:
25    """ Get a parser, parse the args, and call run. """
26
27    return run_cli(_get_parser().parse_args())

Get a parser, parse the args, and call run.