Catch errors retrieving FX rates and return cached version
This commit is contained in:
parent
01b42845c3
commit
c41bcc3304
|
@ -90,10 +90,14 @@ def get_rates(config: flask.config.Config) -> dict[str, Decimal]:
|
|||
except httpx.ConnectError:
|
||||
return read_cached_rates(full_path, currencies)
|
||||
|
||||
try:
|
||||
data = json.loads(response.text, parse_float=Decimal)
|
||||
except json.decoder.JSONDecodeError:
|
||||
return read_cached_rates(full_path, currencies)
|
||||
|
||||
with open(os.path.join(fx_dir, filename), "w") as file:
|
||||
file.write(response.text)
|
||||
|
||||
data = json.loads(response.text, parse_float=Decimal)
|
||||
return {
|
||||
cur: Decimal(data["quotes"][f"GBP{cur}"])
|
||||
for cur in currencies
|
||||
|
|
Loading…
Reference in a new issue