leads.plugin.plugin#

Module Contents#

Classes#

API#

class leads.plugin.plugin.Plugin(required_data: tuple[str, ...] = (), required_devices: tuple[str, ...] = ())[source]#

Bases: object

Initialization

Parameters:
  • required_data – required data entries

  • required_devices – required device tags

enabled(enabled: bool | None = None) bool | None[source]#
required_data() tuple[str, ...][source]#
required_devices() tuple[str, ...][source]#
on_load(context: leads.context.Context) None[source]#
pre_push(context: leads.context.Context, kwargs: dict[str, Any]) None[source]#

Note that the new data at this point is not available yet. :param context: target context :param kwargs: {required data: its value}

post_push(context: leads.context.Context, kwargs: dict[str, Any]) None[source]#
Parameters:
  • context – target context

  • kwargs – {required data: its value}

pre_update(context: leads.context.Context, kwargs: dict[str, Any]) None[source]#
Parameters:
  • context – target context

  • kwargs – {required data: its value}

post_update(context: leads.context.Context, kwargs: dict[str, Any]) None[source]#
Parameters:
  • context – target context

  • kwargs – {required data: its value}

class leads.plugin.plugin.ESCPlugin(required_data: tuple[str, ...] = (), required_devices: tuple[str, ...] = ())[source]#

Bases: leads.plugin.plugin.Plugin

Initialization

Parameters:
  • required_data – required data entries

  • required_devices – required device tags

enabled(enabled: bool | None = None) bool | None[source]#
static adjudicate(d: float, base: float, absolute: float, percentage: float) bool[source]#