From fa1f6e50388db7a83fbb98a2da2caf42c5a0472c Mon Sep 17 00:00:00 2001 From: Stefan Stammberger Date: Mon, 25 Oct 2021 18:57:58 +0200 Subject: [PATCH] fix: crash when a currency pair is unavailable --- lnbits/utils/exchange_rates.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lnbits/utils/exchange_rates.py b/lnbits/utils/exchange_rates.py index 685b4bf6..2048fb4d 100644 --- a/lnbits/utils/exchange_rates.py +++ b/lnbits/utils/exchange_rates.py @@ -250,7 +250,13 @@ async def btc_price(currency: str) -> float: data = r.json() rate = float(provider.getter(data, replacements)) await send_channel.put(rate) - except (httpx.ConnectTimeout, httpx.ConnectError, httpx.ReadTimeout): + except ( + TypeError, # CoinMate returns HTTPStatus 200 but no data when a currency pair is not found + httpx.ConnectTimeout, + httpx.ConnectError, + httpx.ReadTimeout, + httpx.HTTPStatusError, # Some providers throw a 404 when a currency pair is not found + ): await send_channel.put(None)