diff --git a/lnbits/wallets/cliche.py b/lnbits/wallets/cliche.py index 96d519ce..8e19e793 100644 --- a/lnbits/wallets/cliche.py +++ b/lnbits/wallets/cliche.py @@ -60,18 +60,22 @@ class ClicheWallet(Wallet): checking_id = None payment_request = None error_message = None - try: - if data.get("error") is not None and data["error"].get("message"): - logger.error(data["error"]["message"]) - error_message = data["error"]["message"] - return InvoiceResponse( - False, checking_id, payment_request, error_message - ) - except: + + if data.get("error") is not None and data["error"].get("message"): + logger.error(data["error"]["message"]) + error_message = data["error"]["message"] + return InvoiceResponse( + False, checking_id, payment_request, error_message + ) + + if data.get("result") is not None: checking_id, payment_request = ( data["result"]["payment_hash"], data["result"]["invoice"], ) + else: + return InvoiceResponse(False, checking_id, payment_request, "Could not get payment hash") + return InvoiceResponse(True, checking_id, payment_request, error_message) async def pay_invoice(self, bolt11: str, fee_limit_msat: int) -> PaymentResponse: @@ -81,13 +85,17 @@ class ClicheWallet(Wallet): data = json.loads(r) checking_id = None error_message = None - try: - if data["error"]["message"]: - logger.error(data["error"]["message"]) - error_message = data["error"]["message"] - return PaymentResponse(False, None, 0, error_message) - except: + + if data.get("error") is not None and data["error"].get("message"): + logger.error(data["error"]["message"]) + error_message = data["error"]["message"] + return PaymentResponse(False, None, 0, error_message) + + if data.get("result") is not None and data["result"].get("payment_hash"): checking_id = data["result"]["payment_hash"] + else: + return PaymentResponse(False, checking_id, 0, "Could not get payment hash") + return PaymentResponse(True, checking_id, 0, error_message) async def get_invoice_status(self, checking_id: str) -> PaymentStatus: @@ -95,12 +103,12 @@ class ClicheWallet(Wallet): ws.send(f"check-payment --hash {checking_id}") r = ws.recv() data = json.loads(r) - try: - if data["error"]["message"]: - logger.error(data["error"]["message"]) - return PaymentStatus(None) - except: - statuses = {"pending": None, "complete": True, "failed": False} + + if data.get("error") is not None and data["error"].get("message"): + logger.error(data["error"]["message"]) + return PaymentStatus(None) + + statuses = {"pending": None, "complete": True, "failed": False} return PaymentStatus(statuses[data["result"]["status"]]) async def get_payment_status(self, checking_id: str) -> PaymentStatus: @@ -108,12 +116,12 @@ class ClicheWallet(Wallet): ws.send(f"check-payment --hash {checking_id}") r = ws.recv() data = json.loads(r) - try: - if data["error"]["message"]: - logger.error(data["error"]["message"]) - return PaymentStatus(None) - except: - statuses = {"pending": None, "complete": True, "failed": False} + + if data.get("error") is not None and data["error"].get("message"): + logger.error(data["error"]["message"]) + return PaymentStatus(None) + + statuses = {"pending": None, "complete": True, "failed": False} return PaymentStatus(statuses[data["result"]["status"]]) async def paid_invoices_stream(self) -> AsyncGenerator[str, None]: