IbisClientConnection¶
Class in module ibisclient.connection
- class IbisClientConnection(host, port, url_base, check_certs, *, session=None)¶
Bases:
objectClass to connect to the Lookup/Ibis server and invoke web service API methods.
If you want to customise behaviour such as TLS verification, pass a custom requests.Session object in via the session parameter.
Code author: Dean Rasheed (dev-group@ucs.cam.ac.uk)
- invoke_method(method, path, path_params={}, query_params={}, form_params={})¶
Invoke a web service GET, POST, PUT or DELETE method.
The path should be the relative path to the method with standard Python format specifiers for any path parameters, for example
"/api/v1/person/%(scheme)s/%(identifier)s". Any path parameters specified are then substituted into the path.- Parameters
- methodstr
[required] The method type (
"GET","POST","PUT"or"DELETE").- pathstr
[required] The path to the method to invoke.
- path_paramsdict
[optional] Any path parameters that should be inserted into the path in place of any format specifiers.
- query_paramsdict
[optional] Any query parameters to add as part of the URL's query string.
- form_paramsdict
[optional] Any form parameters to submit.
- Returns
IbisResultThe result of invoking the method.
- set_password(password)¶
Set the password to use when connecting to the Lookup/Ibis web service. This is only necessary when connecting as a group, in which case it should be that group's password.
- Parameters
- passwordstr
[required] The group password.
- set_username(username)¶
Set the username to use when connecting to the Lookup/Ibis web service. By default connections are anonymous, which gives read-only access. This method enables authentication as a group, using the group's password, which gives read/write access and also access to certain non-public data, based on the group's privileges.
This method may be called at any time, and affects all subsequent access using this connection, but does not affect any other
IbisClientConnectionobjects.- Parameters
- usernamestr
[required] The username to connect as. This should either be
"anonymous"(the default) or the name of a group.