citric.session
#
Low level wrapper for connecting to the LSRC2.
Module Contents#
Classes#
LimeSurvey RemoteControl 2 session. |
Attributes#
- citric.session.logger#
- class citric.session.Session(url, username, password, *, requests_session=None, auth_plugin='Authdb')#
LimeSurvey RemoteControl 2 session.
Upon creation, retrieves a session key with get_session_key and stores it in the key attribute. The key is released upon session closure.
- Parameters
url (str) – LimeSurvey Remote Control endpoint.
username (str) – LimeSurvey user name.
password (str) – LimeSurvey password.
requests_session (requests.Session | None) – A requests.Session object.
auth_plugin (str) – Name of the plugin to use for authentication. For example, AuthLDAP. Defaults to using the internal database (
"Authdb"
).
- __attrs__ = ['url', 'key']#
- property closed(self)#
Whether the RPC session is closed.
- property key(self)#
RPC session key.
- __getattr__(self, name)#
Magic method dispatcher.
- rpc(self, method, *params)#
Execute RPC method on LimeSurvey, with optional token authentication.
Any method, except for get_session_key.
- Parameters
method (str) – Name of the method to call.
params (Any) – Positional arguments of the RPC method.
- Returns
An RPC result.
- Return type
Any
- close(self)#
Close RPC session.
Releases the session key with release_session_key.
- __enter__(self)#
Context manager for RPC session.
- Returns
LimeSurvey RPC session.
- Return type
_T
- __exit__(self, exc_type, exc_value, traceback)#
Safely exit an RPC session.
- Parameters
exc_type (type[BaseException] | None) – Exception class.
exc_value (BaseException | None) – Exception instance.
traceback (TracebackType | None) – Error traceback.