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 <rohan@rohankapoor.com>
This commit is contained in:
RogerSelwyn 2021-05-19 01:33:37 +01:00 committed by GitHub
parent 0a49de75d9
commit 26a99df0ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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."""