API docs for “spamfighter.core.storage.dbm.DomainedDBMStorage”

# Class s.c.s.d.DomainedDBMStorage(object):

Part of spamfighter.core.storage.dbm View Source View In Hierarchy

Надежное хранилище ключей. Вариант с привязкой к домену.

Instance Variables | db | ссылка на базу данных `anydbm`

Method | __init__ | Конструктор.
Method | bind | Извещение объекту о том, что он был помещен в домен.
Method | set | Записать (перезаписать) значение ключа.
Method | get | Получить значения ключа.
Method | add | Добавить ключ в хранилище.
Method | append | Дописать в конец значения ключа еще один элемент.
Method | incr | Увеличить значение ключа на единицу (тип значения - целое число).
Method | delete | Удалить ключ из хранилища.
Method | __getstate__ | Undocumented
Method | __setstate__ | Undocumented
Method | _check_db | Проверить, что база данных уже открыта (доступна).

def __init__(self): (source)
Конструктор.

def bind(self, domain, name): (source)
Извещение объекту о том, что он был помещен в домен.

Parameters | domain | домен (type: `IDomain` )
| name | имя в домене (type: `str` )

def _check_db(self): (source)
Проверить, что база данных уже открыта (доступна).

def set(self, key, value, expire): (source)
Записать (перезаписать) значение ключа.

Parameters | key | ключ (type: `str` )
| value | значение (type: `str` или `int` )
| expire | время жизни ключа в секундах, 0 - хранить "вечно" (type: `int` )
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def get(self, key): (source)
Получить значения ключа.

Если ключ не найден (не существует, потерян, истекло время жизни), возвращается исключение `KeyError`.

Parameters | key | ключ (type: `str` )
Returns | Deferred значение ключа, `str` или `int` (type: `twisted.internet.Deferred` )

def add(self, key, value, expire): (source)
Добавить ключ в хранилище.

Операция аналогична `set`, но если ключ уже существует, будет возвращена ошибка `KeyError`.

Parameters | key | ключ (type: `str` )
| value | значение
| expire | время жизни ключа в секундах, 0 - хранить "вечно" (type: `int` )
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def append(self, key, value): (source)
Дописать в конец значения ключа еще один элемент. Работает только над существующими ключами, если ключ не существует, будет возвращена ошибка `KeyError`.

Parameters | key | ключ (type: `str` )
| value | дописываемое значение
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def incr(self, key, value=1): (source)
Увеличить значение ключа на единицу (тип значения - целое число). Работает только над существующими ключами, если ключ не существует, будет возвращена ошибка `KeyError`.

Parameters | key | ключ (type: `str` )
| value | величина инкремента (type: `int` )
Returns | Deferred с новым значением ключа, `int` (type: `twisted.internet.Deferred` )

def delete(self, key): (source)
Удалить ключ из хранилища.

Если ключ не найден, возвращается исключение `KeyError`.

Parameters | key | ключ (type: `str` )
Returns | Deferred о завершении операции (type: `twisted.internet.Deferred` )

def __getstate__(self): (source)
Undocumented
def __setstate__(self, state): (source)
Undocumented