Plugin

Plugins allow Caster to be extended or may even bring initial functionality to Caster where Caster on its own does not provide any functionality.

class castervoice.core.plugin.Plugin(manager)

Plugins are pluggable content which can be plugged into Caster.

So far, only Grammer plugins exist.

Plugins are active when the specified context is active.

property config

Plugin config.

disable()

Disable plugin.

enable()

Enable plugin.

get_context(desired_state=None)

Get plugin context.

The plugin’s default context is returned when desired_state is None. None can be returned to indicate that no default context exists for this plugin.

If desired_state is set returns a context object which matches the desired state. It is up to the plugin to document which context configurations are available.

Parameters:

desired_state – Desired context state configuration

Returns:

Context

get_grammars()

Gather plugins’ grammars.

Returns:

List of Grammar

property grammars

Plugin grammars.

property id

Plugin id (plugin_id).

load()

Load plugin’s grammars.

property log

Get class logger.

property name

Plugin name.

property state

Plugin state.

unload()

Unload plugin’s grammars.

class castervoice.core.plugin.PluginManager(controller, config, state_directory)

Plugins are managed from the central Plugin Manager.

Each plugin is referenced by a plugin_id which is resembled by the plugin’s module path (e.g. casterplugin.dictation).

apply_context(plugin_id, context)

Apply context to plugin with plugin_id

Overrides existing context.

Parameters:
  • plugin_id – Plugin Id

  • context – Context object to be applied

get_config(plugin_id)

Get config of plugin with plugin_id.

Parameters:

plugin_id – Plugin Id

Returns:

Plugin config

get_context(plugin_id, desired_state)

Get context of plugin with plugin_id.

Parameters:
  • plugin_id – Plugin Id

  • desired_state – Desired context state configuration

Returns:

Context

init_plugin(plugin_id)

Initialize plugin.

Parameters:

plugin_id – Plugin Id

load_plugins()

Load all initialized plugins.

property log

Get class logger.

property plugins

Retrieve list of initialized plugins.

property state_directory

Get plugin state directory.

unload_plugins()

Unload all initialized plugins.