blatann.gap.default_bond_db module

class blatann.gap.default_bond_db.DatabaseStrategy

Bases: object

Abstract base class defining the methods and properties for serializing/deserializing bond databases into different formats

property file_extension: str

The file extension that this strategy can serialize/deserialize

load(filename)

Loads/deserializes a database file

Parameters

filename (str) – Name of the file to deserialize

Return type

DefaultBondDatabase

Returns

The loaded bond database

save(filename, db)

Saves/serializes a database to a file

Parameters
  • filename (str) – Filename to save the database to

  • db (DefaultBondDatabase) – The database object serialize

class blatann.gap.default_bond_db.JsonDatabaseStrategy

Bases: DatabaseStrategy

Strategy for serializing/deseriralizing bond databases in JSON format

property file_extension: str

The file extension that this strategy can serialize/deserialize

load(filename)

Loads/deserializes a database file

Parameters

filename – Name of the file to deserialize

Return type

DefaultBondDatabase

Returns

The loaded bond database

save(filename, db)

Saves/serializes a database to a file

Parameters
  • filename (str) – Filename to save the database to

  • db (DefaultBondDatabase) – The database object serialize

class blatann.gap.default_bond_db.PickleDatabaseStrategy

Bases: DatabaseStrategy

Strategy for serializing/deserializing bond databases in pickle format

property file_extension: str

The file extension that this strategy can serialize/deserialize

load(filename)

Loads/deserializes a database file

Parameters

filename – Name of the file to deserialize

Return type

DefaultBondDatabase

Returns

The loaded bond database

save(filename, db)

Saves/serializes a database to a file

Parameters
  • filename – Filename to save the database to

  • db (DefaultBondDatabase) – The database object serialize

blatann.gap.default_bond_db.database_strategies = [<blatann.gap.default_bond_db.PickleDatabaseStrategy object>, <blatann.gap.default_bond_db.JsonDatabaseStrategy object>]

List of supported database strategies

blatann.gap.default_bond_db.database_strategies_by_extension: Dict[str, DatabaseStrategy] = {'.json': <blatann.gap.default_bond_db.JsonDatabaseStrategy object>, '.pkl': <blatann.gap.default_bond_db.PickleDatabaseStrategy object>}

Mapping of database file extensions to their respective strategies

class blatann.gap.default_bond_db.DefaultBondDatabaseLoader(filename='user')

Bases: BondDatabaseLoader

migrate_to_json(base_filename)
load()
Return type

DefaultBondDatabase

save(db)
class blatann.gap.default_bond_db.DefaultBondDatabase(records=None)

Bases: BondDatabase

create()
add(db_entry)
update(db_entry)
delete(db_entry)
delete_all()
find_entry(own_address, peer_address, peer_is_client, master_id=None)

Attempts to find a bond entry which satisfies the parameters provided

Parameters
  • own_address (PeerAddress) – The local device’s BLE address

  • peer_address (PeerAddress) – The peer’s BLE address

  • peer_is_client (bool) – Flag indicating the role of the peer. True if the peer is a client/central, False if the peer is a server/peripheral

  • master_id (Optional[BLEGapMasterId]) – If during a security info request, this is the Master ID provided by the peer to search for

Return type

Optional[BondDbEntry]

Returns

The first entry that satisfies the above parameters, or None if no entry was found

blatann.gap.default_bond_db.migrate_bond_database(from_file, to_file)

Migrates a bond database file from one format to another.

For supported extensions/formats, check database_strategies_by_extension.keys()

Parameters
  • from_file (str) – File to migrate from

  • to_file (str) – File to migrate to