From 191ad1e224a7a8442589c9af4e2ad8a5d2832a11 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 4 Jan 2023 10:52:19 +0100 Subject: [PATCH] make payment.extra non-optional this makes handling in tasks.py so much easier --- lnbits/core/models.py | 2 +- lnbits/extensions/cashu/tasks.py | 3 ++- lnbits/extensions/copilot/tasks.py | 6 +++--- lnbits/extensions/invoices/tasks.py | 3 --- lnbits/extensions/jukebox/tasks.py | 10 +++++----- lnbits/extensions/lnticket/tasks.py | 2 +- lnbits/extensions/lnurlp/tasks.py | 2 +- lnbits/extensions/market/tasks.py | 3 --- lnbits/extensions/nostrnip5/tasks.py | 2 -- lnbits/extensions/scrub/tasks.py | 2 +- lnbits/extensions/splitpayments/tasks.py | 2 +- lnbits/extensions/subdomains/tasks.py | 2 +- lnbits/extensions/tpos/tasks.py | 2 -- 13 files changed, 16 insertions(+), 25 deletions(-) diff --git a/lnbits/core/models.py b/lnbits/core/models.py index e292362a..31383667 100644 --- a/lnbits/core/models.py +++ b/lnbits/core/models.py @@ -88,7 +88,7 @@ class Payment(BaseModel): preimage: str payment_hash: str expiry: Optional[float] - extra: Optional[Dict] = {} + extra: Dict = {} wallet_id: str webhook: Optional[str] webhook_status: Optional[int] diff --git a/lnbits/extensions/cashu/tasks.py b/lnbits/extensions/cashu/tasks.py index 9de17a1c..bf49171c 100644 --- a/lnbits/extensions/cashu/tasks.py +++ b/lnbits/extensions/cashu/tasks.py @@ -28,6 +28,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if payment.extra and not payment.extra.get("tag") == "cashu": + if payment.extra.get("tag") != "cashu": return + return diff --git a/lnbits/extensions/copilot/tasks.py b/lnbits/extensions/copilot/tasks.py index 384070cd..4975b5a3 100644 --- a/lnbits/extensions/copilot/tasks.py +++ b/lnbits/extensions/copilot/tasks.py @@ -24,12 +24,12 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - webhook = None - data = None - if not payment.extra or payment.extra.get("tag") != "copilot": + if payment.extra.get("tag") != "copilot": # not an copilot invoice return + webhook = None + data = None copilot = await get_copilot(payment.extra.get("copilotid", -1)) if not copilot: diff --git a/lnbits/extensions/invoices/tasks.py b/lnbits/extensions/invoices/tasks.py index ae76b9e3..c8a829db 100644 --- a/lnbits/extensions/invoices/tasks.py +++ b/lnbits/extensions/invoices/tasks.py @@ -25,9 +25,6 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra: - return - if payment.extra.get("tag") != "invoices": return diff --git a/lnbits/extensions/jukebox/tasks.py b/lnbits/extensions/jukebox/tasks.py index 8a68fd27..37489edb 100644 --- a/lnbits/extensions/jukebox/tasks.py +++ b/lnbits/extensions/jukebox/tasks.py @@ -17,8 +17,8 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if payment.extra: - if payment.extra.get("tag") != "jukebox": - # not a jukebox invoice - return - await update_jukebox_payment(payment.payment_hash, paid=True) + if payment.extra.get("tag") != "jukebox": + # not a jukebox invoice + return + + await update_jukebox_payment(payment.payment_hash, paid=True) diff --git a/lnbits/extensions/lnticket/tasks.py b/lnbits/extensions/lnticket/tasks.py index e84a7512..746ebea9 100644 --- a/lnbits/extensions/lnticket/tasks.py +++ b/lnbits/extensions/lnticket/tasks.py @@ -19,7 +19,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra or payment.extra.get("tag") != "lnticket": + if payment.extra.get("tag") != "lnticket": # not a lnticket invoice return diff --git a/lnbits/extensions/lnurlp/tasks.py b/lnbits/extensions/lnurlp/tasks.py index 2b574d42..ea01e04f 100644 --- a/lnbits/extensions/lnurlp/tasks.py +++ b/lnbits/extensions/lnurlp/tasks.py @@ -22,7 +22,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment): - if not payment.extra or payment.extra.get("tag") != "lnurlp": + if payment.extra.get("tag") != "lnurlp": return if payment.extra.get("wh_status"): diff --git a/lnbits/extensions/market/tasks.py b/lnbits/extensions/market/tasks.py index 004ebb4d..b102e0f1 100644 --- a/lnbits/extensions/market/tasks.py +++ b/lnbits/extensions/market/tasks.py @@ -23,9 +23,6 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra: - return - if payment.extra.get("tag") != "market": return diff --git a/lnbits/extensions/nostrnip5/tasks.py b/lnbits/extensions/nostrnip5/tasks.py index 30e8cec6..f0d0c965 100644 --- a/lnbits/extensions/nostrnip5/tasks.py +++ b/lnbits/extensions/nostrnip5/tasks.py @@ -18,8 +18,6 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra: - return if payment.extra.get("tag") != "nostrnip5": return diff --git a/lnbits/extensions/scrub/tasks.py b/lnbits/extensions/scrub/tasks.py index 096cbef9..26249bb1 100644 --- a/lnbits/extensions/scrub/tasks.py +++ b/lnbits/extensions/scrub/tasks.py @@ -27,7 +27,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment): # (avoid loops) - if payment.extra and payment.extra.get("tag") == "scrubed": + if payment.extra.get("tag") == "scrubed": # already scrubbed return diff --git a/lnbits/extensions/splitpayments/tasks.py b/lnbits/extensions/splitpayments/tasks.py index d9f53f20..33768805 100644 --- a/lnbits/extensions/splitpayments/tasks.py +++ b/lnbits/extensions/splitpayments/tasks.py @@ -20,7 +20,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra or payment.extra.get("tag") == "splitpayments": + if payment.extra.get("tag") == "splitpayments": # already a splitted payment, ignore return diff --git a/lnbits/extensions/subdomains/tasks.py b/lnbits/extensions/subdomains/tasks.py index c5a7f47b..f9e0c8ee 100644 --- a/lnbits/extensions/subdomains/tasks.py +++ b/lnbits/extensions/subdomains/tasks.py @@ -20,7 +20,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra or payment.extra.get("tag") != "lnsubdomain": + if payment.extra.get("tag") != "lnsubdomain": # not an lnurlp invoice return diff --git a/lnbits/extensions/tpos/tasks.py b/lnbits/extensions/tpos/tasks.py index f1417810..9a405540 100644 --- a/lnbits/extensions/tpos/tasks.py +++ b/lnbits/extensions/tpos/tasks.py @@ -20,8 +20,6 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if not payment.extra: - return if payment.extra.get("tag") != "tpos": return