reports: skip undecodable payloads rather than raising

This commit is contained in:
Mike A
2024-04-26 20:33:11 +02:00
parent 3fc65b90a1
commit 8d7cb827fa

View File

@@ -270,6 +270,19 @@ class LocationReportsFetcher:
description = report.get("description", "")
payload = base64.b64decode(report["payload"])
reports.append(LocationReport.from_payload(key, date_published, description, payload))
try:
loc_report = LocationReport.from_payload(key, date_published, description, payload)
except ValueError as e:
logging.warning(
"Location report was not decodable. Some payloads have unknown"
" variations leading to this error. Please report this full message"
" at https://github.com/malmeloo/FindMy.py/issues/27. "
"Payload: %s, Original error: %s",
payload.hex(),
e,
)
continue
reports.append(loc_report)
return reports