autograder.cli.courses.admin.email

Send an email to course users.

usage: python3 -m autograder.cli.courses.admin.email [-h] [--version]
                                                     [--server SERVER]
                                                     [--user USER]
                                                     [--pass PASS]
                                                     [--course COURSE]
                                                     [--dry-run] [--to TO]
                                                     [--cc CC] [--bcc BCC]
                                                     --subject SUBJECT
                                                     [--body BODY] [--html]
                                                     [--testing-mode]

Send an email to course users.

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.
    --user USER        The email of the user making this request.
    --pass PASS        The password of the user making this request.
    --course COURSE    The ID of the course to make this request to.
    --dry-run          Do not commit/finalize the operation, just do all the
                       steps and state what the result would look like.
    --to TO            A list of email addresses. Accepts course user
                       references. Course user references may be specified in
                       four ways: 1) Email address of the requested user, 2)
                       "*" to request all users in the course, 3) "" (e.g., student, grader) to request all course
                       users with that role, and 4) any of the previous
                       options preceded by a minus sign (e.g.,
                       "-alice@test.edulinq.org", "-student") to exclude that
                       user or role from the request.
    --cc CC            A list of email addresses. Accepts course user
                       references.
    --bcc BCC          A list of email addresses. Accepts course user
                       references.
    --subject SUBJECT  The email subject.
    --body BODY        The email body. (default: None)
    --html             Indicates the email body contains HTML.

testing options:
    --testing-mode     Run as if a test is being run (default: False).
 1"""
 2Send an email to course users.
 3"""
 4
 5import argparse
 6import sys
 7
 8import edq.util.json
 9
10import autograder.api.courses.admin.email
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.courses.admin.email.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.courses.admin.email.API_PARAMS)
34
35    return parser
36
37if (__name__ == '__main__'):
38    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.courses.admin.email.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.