From af2ba3383cfef04d301104dbdd1414d42789094b Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 11 Jul 2024 21:09:16 +0200 Subject: [PATCH] reports: Improve error handling --- findmy/reports/account.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index a203595..814ee77 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -614,11 +614,15 @@ class AsyncAppleAccount(BaseAppleAccount): msg = "Not authorized to fetch reports." raise UnauthorizedError(msg) - if not r.ok or r.json()["statusCode"] != "200": - msg = f"Failed to fetch reports: {r.json()['statusCode']}" + try: + resp = r.json() + except json.JSONDecodeError: + resp = {} + if not r.ok or resp.get("statusCode") != "200": + msg = f"Failed to fetch reports: {resp.get('statusCode')}" raise UnhandledProtocolError(msg) - return r.json() + return resp @overload async def fetch_reports(