7.1.1.1.5. isbg.secrets module

Imap secrets module for isbg - IMAP Spam Begone.

Added in version 2.1.0.

class isbg.secrets.Secret(imapset, hashlen=256)

Bases: object

Abstract class used to store secret info.

imapset

A imap setings object.

Type:

isbg.imaputils.ImapSettings

hashlen

Length of the value hash. Must be a multiple of 16. Default 256.

Type:

int

logger = <Logger isbg.secrets (WARNING)>

Logger object used to show debug info.

__init__(imapset, hashlen=256)

Initialize a SecretKeyring object.

abstract get(key)

Get the value a key stored.

abstract set(key, value, overwrite=True)

Set a value of a key.

abstract delete(key)

Delete a stored key and his value.

class isbg.secrets.SecretIsbg(filename, imapset, hashlen=256)

Bases: Secret

Class used to store secret info using our own implementation.

filename

the filename used to read or store the key and values.

imapset

A imap setings object.

Type:

isbg.imaputils.ImapSettings

hashlen

Length of the value hash. Must be a multiple of 16. Defaults to 256.

Type:

int, optional

__init__(filename, imapset, hashlen=256)

Initialize a SecretISBG object.

static _store_data(filename, json_data)

Store json data into a file.

get(key)

Get the value a key stored.

Parameters:

key (str) – The key string requested.

Returns:

The value of the key or None if it cannot be found.

set(key, value, overwrite=True)

Set a value of a key.

If it cannot find the file or their contents are not a right json data, it will overwrite it with the key and value pair.

Parameters:
  • key (str) – The key to store.

  • value (str) – The value to store.

  • overwrite (boolean, optional) – If True it should overwrite and existing key. Defaults to True.

Raises:
  • EnvironmentError – If it cannot store the file.

  • ValueError – If not overwrite and the key exists.

delete(key)

Delete a key.

If no more keys are stored, it deletes the file.

Parameters:

key (str) – The key to store.

Raises:

ValueError – If the key to delete is not found.