teos.users_dbm

class UsersDBM(db_path)[source]

Bases: common.db_manager.DBManager

The UsersDBM is in charge of interacting with the users database (LevelDB). Keys and values are stored as bytes in the database but processed as strings by the manager.

Parameters

db_path (str) – the path (relative or absolute) to the system folder containing the database. A fresh database will be created if the specified path does not contain one.

Raises
  • ValueError – If the provided db_path is not a string.

  • plyvel.Error – If the db is currently unavailable (being used by another process).

logger

The logger for this component.

Type

Logger

delete_user(user_id)[source]

Deletes a user record from the database.

Parameters

user_id (str) – a 33-byte hex-encoded string identifying the user.

Returns

True if the user was deleted from the database or it was non-existent, False otherwise.

Return type

bool

load_all_users()[source]

Loads all user records from the database.

Returns

A dictionary containing all users indexed by user_pk.

Returns an empty dictionary if no data is found.

Return type

dict

load_user(user_id)[source]

Loads a user record from the database using the user_pk as identifier.

Parameters

user_id (str) – a 33-byte hex-encoded string identifying the user.

Returns

A dictionary containing the user data if the key is found.

Returns None otherwise.

Return type

dict

store_user(user_id, user_data)[source]

Stores a user record to the database. user_pk is used as identifier.

Parameters
  • user_id (str) – a 33-byte hex-encoded string identifying the user.

  • user_data (dict) – the user associated data, as a dictionary.

Returns

True if the user was stored in the database, False otherwise.

Return type

bool