From 26a99df0ea775e47beac95db7124f1c032945244 Mon Sep 17 00:00:00 2001 From: RogerSelwyn Date: Wed, 19 May 2021 01:33:37 +0100 Subject: [PATCH] Capture error when speedtest module fails to identify best server (#50821) * Capture error when speediest module fails to identify best server * Fix pylint error * Fix formatting with black. Co-authored-by: Rohan Kapoor --- .../components/speedtestdotnet/__init__.py | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/speedtestdotnet/__init__.py b/homeassistant/components/speedtestdotnet/__init__.py index b8f80de1b52..2c906448510 100644 --- a/homeassistant/components/speedtestdotnet/__init__.py +++ b/homeassistant/components/speedtestdotnet/__init__.py @@ -165,14 +165,20 @@ class SpeedTestDataCoordinator(DataUpdateCoordinator): server_id = self.config_entry.options.get(CONF_SERVER_ID) self.api.get_servers(servers=[server_id]) - self.api.get_best_server() - _LOGGER.debug( - "Executing speedtest.net speed test with server_id: %s", self.api.best["id"] - ) + try: + self.api.get_best_server() + _LOGGER.debug( + "Executing speedtest.net speed test with server_id: %s", + self.api.best["id"], + ) - self.api.download() - self.api.upload() - return self.api.results.dict() + self.api.download() + self.api.upload() + return self.api.results.dict() + except speedtest.SpeedtestBestServerFailure as err: + raise UpdateFailed( + "Failed to retrieve best server for speedtest", err + ) from err async def async_update(self, *_): """Update Speedtest data."""