autograder .cli .courses .users .list
List the users in a course.
usage: python3 -m autograder.cli.courses.users.list [-h] [--version]
[--server SERVER]
[--course COURSE]
[--user USER]
[--pass PASS]
[--target-users TARGET_USERS]
[--testing-mode]
[--format {json,table,text}]
[--include-extra-fields]
[--pretty-headers]
[--skip-headers]
List the users in a course.
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.
--course COURSE The ID of the course to make this request to.
--user USER The email of the user making this request.
--pass PASS The password of the user making this request.
--target-users TARGET_USERS
A list of server user references. Server user
references may be specified in eight ways: 1) Email
address of the requested user, 2) "*" to request all
users in the server, 3) "" (e.g., user,
creator) to request all users with that server role,
4) "::" (e.g.,
course101::student) to request all users in the target
course with that course role, 5) "*::"
(e.g., *::student) to request all users with that
course role in any course, 6) "::*" to
request all users in the target course, 7) "*::*" to
request all users enrolled in at least one course, and
8) any of the previous options preceded by a minus
sign (e.g., "-alice@test.edulinq.org", "-user",
"-*::student") to exclude that user or group from the
request. Default: All users in the server.
testing options:
--testing-mode Run as if a test is being run (default: False).
output formatting options:
--format {json,table,text}
The format to display the output as (default: text).
--include-extra-fields
Include uncommon fields in results (default: False).
--pretty-headers When displaying headers, try to make them look
"pretty" (default: False).
--skip-headers Skip headers when outputting results, will not apply
to all formats (default: False).
1""" 2List the users in a course. 3""" 4 5import argparse 6import sys 7 8import lms.model.base 9 10import autograder.api.courses.users.list 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 users = autograder.api.courses.users.list.send(config, exit_on_error = True) 19 20 output = lms.model.base.base_list_to_output_format(users, config.output_format, 21 skip_headers = args.skip_headers, 22 pretty_headers = args.pretty_headers, 23 include_extra_fields = args.include_extra_fields, 24 ) 25 print(output) 26 27 return 0 28 29def main() -> int: 30 """ Get a parser, parse the args, and call run. """ 31 32 return run_cli(_get_parser().parse_args()) 33 34def _get_parser() -> argparse.ArgumentParser: 35 """ Get a parser for this operation. """ 36 37 parser = autograder.cli.parser.get_parser( 38 __doc__.strip(), 39 autograder.api.courses.users.list.API_PARAMS, 40 include_output_format = True) 41 42 return parser 43 44if (__name__ == '__main__'): 45 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 users = autograder.api.courses.users.list.send(config, exit_on_error = True) 20 21 output = lms.model.base.base_list_to_output_format(users, config.output_format, 22 skip_headers = args.skip_headers, 23 pretty_headers = args.pretty_headers, 24 include_extra_fields = args.include_extra_fields, 25 ) 26 print(output) 27 28 return 0
Run the CLI.
def
main() -> int:
30def main() -> int: 31 """ Get a parser, parse the args, and call run. """ 32 33 return run_cli(_get_parser().parse_args())
Get a parser, parse the args, and call run.