citric.session#

Low level wrapper for connecting to the LSRC2.

Module Contents#

Classes#

Session

LimeSurvey RemoteControl 2 session.

class citric.session.Session(url, username, password, *, auth_plugin='Authdb', requests_session=None, json_encoder=None)#

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").

  • json_encoder (type[json.JSONEncoder] | None) – A JSON encoder class <JSONEncoder> to use for encoding RPC parameters.

property closed: bool#

Whether the RPC session is closed.

property key: str | None#

RPC session key.

_headers#
__attrs__ = ['url', 'key']#
__getattr__(name)#

Magic method dispatcher.

rpc(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:

citric.types.Result

_invoke(method, *params)#

Execute a LimeSurvey RPC with a JSON payload.

Parameters:
  • method (str) – Name of the method to call.

  • params (Any) – Positional arguments of the RPC method.

Raises:
Returns:

An RPC result.

Return type:

citric.types.Result

close()#

Close RPC session.

Releases the session key with release_session_key.

__enter__()#

Context manager for RPC session.

Returns:

LimeSurvey RPC session.

Return type:

_T

__exit__(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.