From 9c133706e6f44ddb3a2159fa751de8e42f0e1c68 Mon Sep 17 00:00:00 2001 From: Abel Lucas Date: Thu, 17 Nov 2022 02:54:37 +0000 Subject: [PATCH] keys: add a way to remove all bonds from key store --- bumble/keys.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bumble/keys.py b/bumble/keys.py index f51cfe65..b8c05b48 100644 --- a/bumble/keys.py +++ b/bumble/keys.py @@ -20,6 +20,7 @@ # ----------------------------------------------------------------------------- # Imports # ----------------------------------------------------------------------------- +import asyncio import logging import os import json @@ -143,6 +144,10 @@ class KeyStore: async def get_all(self): return [] + async def delete_all(self): + all_keys = await self.get_all() + await asyncio.gather(*(self.delete(name) for (name, _) in all_keys)) + async def get_resolving_keys(self): all_keys = await self.get_all() resolving_keys = [] @@ -259,6 +264,13 @@ class JsonKeyStore(KeyStore): return [(name, PairingKeys.from_dict(keys)) for (name, keys) in namespace.items()] + async def delete_all(self): + db = await self.load() + + db.pop(self.namespace, None) + + await self.save(db) + async def get(self, name): db = await self.load()