1
0

wallet: delete_{invoice,request}: add "write_to_disk=True" param

to support faster batch-deletion
This commit is contained in:
SomberNight
2022-08-10 22:50:23 +02:00
parent 7e2fab809d
commit 396a68cb58
3 changed files with 10 additions and 6 deletions

View File

@@ -194,5 +194,6 @@ class InvoiceList(MyTreeView):
def delete_invoices(self, keys):
for key in keys:
self.wallet.delete_invoice(key)
self.wallet.delete_invoice(key, write_to_disk=False)
self.delete_item(key)
self.wallet.save_db()

View File

@@ -192,6 +192,7 @@ class RequestList(MyTreeView):
def delete_requests(self, keys):
for key in keys:
self.wallet.delete_request(key)
self.wallet.delete_request(key, write_to_disk=False)
self.delete_item(key)
self.wallet.save_db()
self.receive_tab.do_clear()

View File

@@ -2517,7 +2517,7 @@ class Abstract_Wallet(ABC, Logger, EventListener):
self.save_db()
return key
def delete_request(self, key):
def delete_request(self, key, *, write_to_disk: bool = True):
""" lightning or on-chain """
req = self._receive_requests.pop(key, None)
if req is None:
@@ -2526,16 +2526,18 @@ class Abstract_Wallet(ABC, Logger, EventListener):
self._requests_addr_to_rhash.pop(addr)
if req.is_lightning() and self.lnworker:
self.lnworker.delete_payment_info(req.rhash)
self.save_db()
if write_to_disk:
self.save_db()
def delete_invoice(self, key):
def delete_invoice(self, key, *, write_to_disk: bool = True):
""" lightning or on-chain """
inv = self._invoices.pop(key, None)
if inv is None:
return
if inv.is_lightning() and self.lnworker:
self.lnworker.delete_payment_info(inv.rhash)
self.save_db()
if write_to_disk:
self.save_db()
def get_sorted_requests(self) -> List[Invoice]:
""" sorted by timestamp """