errbot.storage.base module

class errbot.storage.base.StorageBase[source]

Bases: object

Contract to implemement a storage.

abstract close() None[source]

Sync and close the storage. The caller of close will protect against close on non open and double close.

abstract get(key: str) Any[source]

Get the value stored for key. Raises KeyError if the key doesn’t exist. The caller of get will protect against get on non open.

Return type:

Any

Parameters:

key (str) – the key

Returns:

the value

abstract keys() Iterable[str][source]
Returns:

an iterator on all the entries

abstract len() int[source]
Returns:

the number of keys set.

abstract remove(key: str) None[source]

Remove key. Raises KeyError if the key doesn’t exist. The caller of get will protect against get on non open.

Parameters:

key (str) – the key

abstract set(key: str, value: Any) None[source]

Atomically set the key to the given value. The caller of set will protect against set on non open.

Parameters:
  • key (str) – string as key

  • value (Any) – pickalable python object

class errbot.storage.base.StoragePluginBase(bot_config)[source]

Bases: object

Base to implement a storage plugin. This is a factory for the namespaces.

__init__(bot_config)[source]
abstract open(namespace: str) StorageBase[source]

Open the storage with the given namespace (core, or plugin name) and config. The caller of open will protect against double opens.

Return type:

StorageBase

Parameters:

namespace (str) – a namespace to isolate the plugin storages.

Returns: