From 8dde59be02217113fe715a28f1a37a8163ca8125 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 16 Sep 2020 12:48:38 +0200 Subject: [PATCH] Guard for when Yandex Transport data fetching fails (#40131) --- homeassistant/components/yandex_transport/sensor.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/yandex_transport/sensor.py b/homeassistant/components/yandex_transport/sensor.py index cde115cb12f..957844e519d 100644 --- a/homeassistant/components/yandex_transport/sensor.py +++ b/homeassistant/components/yandex_transport/sensor.py @@ -60,7 +60,7 @@ class DiscoverYandexTransport(Entity): self._name = name self._attrs = None - async def async_update(self): + async def async_update(self, *, tries=0): """Get the latest data from maps.yandex.ru and update the states.""" attrs = {} closer_time = None @@ -73,8 +73,12 @@ class DiscoverYandexTransport(Entity): key_error, yandex_reply, ) + if tries > 0: + return await self.requester.set_new_session() - data = (await self.requester.get_stop_info(self._stop_id))["data"] + await self.async_update(tries=tries + 1) + return + stop_name = data["name"] transport_list = data["transports"] for transport in transport_list: