fix: crash when a currency pair is unavailable

This commit is contained in:
Stefan Stammberger 2021-10-25 18:57:58 +02:00
parent c4a63e0f2e
commit fa1f6e5038
No known key found for this signature in database
GPG Key ID: 645FA807E935D9D5

View File

@ -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)