Developer Guide

The authorize CSC is implemented using ts_salobj.

API

The primary class is Authorize: the CSC.

lsst.ts.authorize Package

Functions

check_cscs(cscs)

Check one of more csc name[:index] values.

check_user_hosts(user_hosts)

Check one or more user@host values.

create_failed_error_message(...)

Create a message string containing the failed messages and succeeded CSC names.

request_authorization()

Request authorization.

run_authorize()

set_from_comma_separated_string(string_to_split)

Split a comma separated string into a set of the items in the string.

Classes

AuthRequestData(authorized_users, ...)

DataClass representing data for auth requests.

Authorize([config_dir, initial_state, override])

Manage authorization requests.

AutoAuthorizeHandler(domain[, log, config, ...])

BaseAuthorizeHandler(domain[, log, config, ...])

ExecutionStatus(value[, names, module, ...])

Iterable()

MinimalTestCsc(index[, config_dir, ...])

A mimial "Test" CSC that is not configurable.

MockWebServer(token)

Mock Web Server for unit tests.

RestAuthorizeHandler(domain, callback[, ...])

Authorize handler that uses REST calls to communicate with a REST server.

TestServer(app, *, scheme, object] =, host, ...)

TracebackType

alias of TracebackType

Class Inheritance Diagram

Inheritance diagram of lsst.ts.authorize.handler_utils.AuthRequestData, lsst.ts.authorize.authorize.Authorize, lsst.ts.authorize.handler.auto_authorize_handler.AutoAuthorizeHandler, lsst.ts.authorize.handler.base_authorize_handler.BaseAuthorizeHandler, lsst.ts.authorize.handler_utils.ExecutionStatus, lsst.ts.authorize.minimal_test_csc.MinimalTestCsc, lsst.ts.authorize.mock_web_server.MockWebServer, lsst.ts.authorize.handler.rest_authorize_handler.RestAuthorizeHandler

Build and Test

This is a pure python package. There is nothing to build except the documentation.

make_idl_files.py Authorize  # plus any CSCs for which you want to set authorization
setup -r .
pytest -v  # to run tests
package-docs clean; package-docs build  # to build the documentation

Contributing

lsst.ts.authorize is developed at https://github.com/lsst-ts/ts_authorize. You can find Jira issues for this module using labels=ts_authorize.