Improve exception handling for Vodafone Station (#102761)

* improve exception handling for Vodafone Station

* address review comment

* apply review comment

* better except handling (bump library)

* cleanup
This commit is contained in:
Simone Chemelli 2023-10-26 21:34:59 +02:00 committed by GitHub
parent af9cae289f
commit ae9106effd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 12 deletions

View File

@ -95,15 +95,19 @@ class VodafoneStationRouter(DataUpdateCoordinator[UpdateCoordinatorDataType]):
"""Update router data."""
_LOGGER.debug("Polling Vodafone Station host: %s", self._host)
try:
logged = await self.api.login()
except exceptions.CannotConnect as err:
_LOGGER.warning("Connection error for %s", self._host)
raise UpdateFailed(f"Error fetching data: {repr(err)}") from err
except exceptions.CannotAuthenticate as err:
raise ConfigEntryAuthFailed from err
if not logged:
raise ConfigEntryAuthFailed
try:
await self.api.login()
except exceptions.CannotAuthenticate as err:
raise ConfigEntryAuthFailed from err
except (
exceptions.CannotConnect,
exceptions.AlreadyLogged,
exceptions.GenericLoginError,
) as err:
raise UpdateFailed(f"Error fetching data: {repr(err)}") from err
except (ConfigEntryAuthFailed, UpdateFailed):
await self.api.close()
raise
utc_point_in_time = dt_util.utcnow()
data_devices = {

View File

@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/vodafone_station",
"iot_class": "local_polling",
"loggers": ["aiovodafone"],
"requirements": ["aiovodafone==0.4.1"]
"requirements": ["aiovodafone==0.4.2"]
}

View File

@ -375,7 +375,7 @@ aiounifi==64
aiovlc==0.1.0
# homeassistant.components.vodafone_station
aiovodafone==0.4.1
aiovodafone==0.4.2
# homeassistant.components.waqi
aiowaqi==2.1.0

View File

@ -350,7 +350,7 @@ aiounifi==64
aiovlc==0.1.0
# homeassistant.components.vodafone_station
aiovodafone==0.4.1
aiovodafone==0.4.2
# homeassistant.components.waqi
aiowaqi==2.1.0