From 7c63463099fb98313dfac2c154df011d0a134055 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 16 Oct 2025 01:19:42 +0200 Subject: [PATCH] feat: prevent blocking event loop when getting local ani headers --- findmy/reports/anisette.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index 67d6c05..75a8c1d 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -397,7 +397,12 @@ class LocalAnisetteProvider(BaseAnisetteProvider, util.abc.Serializable[LocalAni with_client_info: bool = False, ) -> dict[str, str]: """See :meth:`BaseAnisetteProvider.get_headers`.""" - self._ani_data = (await self._get_ani()).get_data() + ani = await self._get_ani() + + # run in executor to prevent blocking the event loop, + # since get_data may make blocking network requests. + loop = asyncio.get_running_loop() + self._ani_data = await loop.run_in_executor(None, ani.get_data) return await super().get_headers(user_id, device_id, serial, with_client_info)