Clean up redudant exceptions from handlers (#51741)

This commit is contained in:
Franck Nijhof 2021-06-11 13:29:50 +02:00 committed by GitHub
parent b4aeddd12f
commit f17a5f0db9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 16 additions and 20 deletions

View File

@ -24,7 +24,7 @@ async def async_setup_entry(hass, entry):
info = await coolmaster.info() info = await coolmaster.info()
if not info: if not info:
raise ConfigEntryNotReady raise ConfigEntryNotReady
except (OSError, ConnectionRefusedError, TimeoutError) as error: except OSError as error:
raise ConfigEntryNotReady() from error raise ConfigEntryNotReady() from error
coordinator = CoolmasterDataUpdateCoordinator(hass, coolmaster) coordinator = CoolmasterDataUpdateCoordinator(hass, coolmaster)
hass.data.setdefault(DOMAIN, {}) hass.data.setdefault(DOMAIN, {})
@ -64,5 +64,5 @@ class CoolmasterDataUpdateCoordinator(DataUpdateCoordinator):
"""Fetch data from Coolmaster.""" """Fetch data from Coolmaster."""
try: try:
return await self._coolmaster.status() return await self._coolmaster.status()
except (OSError, ConnectionRefusedError, TimeoutError) as error: except OSError as error:
raise UpdateFailed from error raise UpdateFailed from error

View File

@ -51,7 +51,7 @@ class CoolmasterConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
result = await _validate_connection(self.hass, host) result = await _validate_connection(self.hass, host)
if not result: if not result:
errors["base"] = "no_units" errors["base"] = "no_units"
except (OSError, ConnectionRefusedError, TimeoutError): except OSError:
errors["base"] = "cannot_connect" errors["base"] = "cannot_connect"
if errors: if errors:

View File

@ -256,7 +256,7 @@ class KefMediaPlayer(MediaPlayerEntity):
self._source = None self._source = None
self._volume = None self._volume = None
self._state = STATE_OFF self._state = STATE_OFF
except (ConnectionRefusedError, ConnectionError, TimeoutError) as err: except (ConnectionError, TimeoutError) as err:
_LOGGER.debug("Error in `update`: %s", err) _LOGGER.debug("Error in `update`: %s", err)
self._state = None self._state = None

View File

@ -161,7 +161,7 @@ class KeyboardRemote:
# devices are often added and then correct permissions set after # devices are often added and then correct permissions set after
try: try:
dev = InputDevice(descriptor) dev = InputDevice(descriptor)
except (OSError, PermissionError): except OSError:
return (None, None) return (None, None)
handler = None handler = None
@ -318,7 +318,7 @@ class KeyboardRemote:
): ):
repeat_tasks[event.code].cancel() repeat_tasks[event.code].cancel()
del repeat_tasks[event.code] del repeat_tasks[event.code]
except (OSError, PermissionError, asyncio.CancelledError): except (OSError, asyncio.CancelledError):
# cancel key repeat tasks # cancel key repeat tasks
for task in repeat_tasks.values(): for task in repeat_tasks.values():
task.cancel() task.cancel()

View File

@ -167,7 +167,7 @@ class MpdDevice(MediaPlayerEntity):
self._commands = list(await self._client.commands()) self._commands = list(await self._client.commands())
await self._fetch_status() await self._fetch_status()
except (mpd.ConnectionError, OSError, BrokenPipeError, ValueError) as error: except (mpd.ConnectionError, OSError, ValueError) as error:
# Cleanly disconnect in case connection is not in valid state # Cleanly disconnect in case connection is not in valid state
_LOGGER.debug("Error updating status: %s", error) _LOGGER.debug("Error updating status: %s", error)
self._disconnect() self._disconnect()

View File

@ -164,7 +164,7 @@ class Remote:
if during_setup: if during_setup:
await self.async_update() await self.async_update()
except (TimeoutError, URLError, SOAPError, OSError) as err: except (URLError, SOAPError, OSError) as err:
_LOGGER.debug("Could not establish remote connection: %s", err) _LOGGER.debug("Could not establish remote connection: %s", err)
self._control = None self._control = None
self.state = STATE_OFF self.state = STATE_OFF
@ -251,7 +251,7 @@ class Remote:
self.state = STATE_OFF self.state = STATE_OFF
self.available = True self.available = True
await self.async_create_remote_control() await self.async_create_remote_control()
except (TimeoutError, URLError, OSError): except (URLError, OSError):
self.state = STATE_OFF self.state = STATE_OFF
self.available = self._on_action is not None self.available = self._on_action is not None
await self.async_create_remote_control() await self.async_create_remote_control()

View File

@ -56,7 +56,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
self._data[ATTR_DEVICE_INFO] = await self.hass.async_add_executor_job( self._data[ATTR_DEVICE_INFO] = await self.hass.async_add_executor_job(
self._remote.get_device_info self._remote.get_device_info
) )
except (TimeoutError, URLError, SOAPError, OSError) as err: except (URLError, SOAPError, OSError) as err:
_LOGGER.error("Could not establish remote connection: %s", err) _LOGGER.error("Could not establish remote connection: %s", err)
errors["base"] = "cannot_connect" errors["base"] = "cannot_connect"
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
@ -114,7 +114,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
except SOAPError as err: except SOAPError as err:
_LOGGER.error("Invalid PIN code: %s", err) _LOGGER.error("Invalid PIN code: %s", err)
errors["base"] = ERROR_INVALID_PIN_CODE errors["base"] = ERROR_INVALID_PIN_CODE
except (TimeoutError, URLError, OSError) as err: except (URLError, OSError) as err:
_LOGGER.error("The remote connection was lost: %s", err) _LOGGER.error("The remote connection was lost: %s", err)
return self.async_abort(reason="cannot_connect") return self.async_abort(reason="cannot_connect")
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
@ -138,7 +138,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
await self.hass.async_add_executor_job( await self.hass.async_add_executor_job(
partial(self._remote.request_pin_code, name="Home Assistant") partial(self._remote.request_pin_code, name="Home Assistant")
) )
except (TimeoutError, URLError, SOAPError, OSError) as err: except (URLError, SOAPError, OSError) as err:
_LOGGER.error("The remote connection was lost: %s", err) _LOGGER.error("The remote connection was lost: %s", err)
return self.async_abort(reason="cannot_connect") return self.async_abort(reason="cannot_connect")
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except

View File

@ -112,7 +112,7 @@ class PioneerDevice(MediaPlayerEntity):
try: try:
try: try:
telnet = telnetlib.Telnet(self._host, self._port, self._timeout) telnet = telnetlib.Telnet(self._host, self._port, self._timeout)
except (ConnectionRefusedError, OSError): except OSError:
_LOGGER.warning("Pioneer %s refused connection", self._name) _LOGGER.warning("Pioneer %s refused connection", self._name)
return return
telnet.write(command.encode("ASCII") + b"\r") telnet.write(command.encode("ASCII") + b"\r")
@ -125,7 +125,7 @@ class PioneerDevice(MediaPlayerEntity):
"""Get the latest details from the device.""" """Get the latest details from the device."""
try: try:
telnet = telnetlib.Telnet(self._host, self._port, self._timeout) telnet = telnetlib.Telnet(self._host, self._port, self._timeout)
except (ConnectionRefusedError, OSError): except OSError:
_LOGGER.warning("Pioneer %s refused connection", self._name) _LOGGER.warning("Pioneer %s refused connection", self._name)
return False return False

View File

@ -275,8 +275,6 @@ async def async_setup(hass, config):
except ( except (
SerialException, SerialException,
ConnectionRefusedError,
TimeoutError,
OSError, OSError,
asyncio.TimeoutError, asyncio.TimeoutError,
) as exc: ) as exc:

View File

@ -206,7 +206,7 @@ class RoombaConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
try: try:
password = await self.hass.async_add_executor_job(roomba_pw.get_password) password = await self.hass.async_add_executor_job(roomba_pw.get_password)
except (OSError, ConnectionRefusedError): except OSError:
return await self.async_step_link_manual() return await self.async_step_link_manual()
if not password: if not password:

View File

@ -122,7 +122,7 @@ class RTorrentSensor(SensorEntity):
try: try:
self.data = multicall() self.data = multicall()
self._available = True self._available = True
except (xmlrpc.client.ProtocolError, ConnectionRefusedError, OSError) as ex: except (xmlrpc.client.ProtocolError, OSError) as ex:
_LOGGER.error("Connection to rtorrent failed (%s)", ex) _LOGGER.error("Connection to rtorrent failed (%s)", ex)
self._available = False self._available = False
return return

View File

@ -198,7 +198,6 @@ async def async_request_configuration(hass, config, conf, client):
except ( except (
OSError, OSError,
ConnectionClosed, ConnectionClosed,
ConnectionRefusedError,
asyncio.TimeoutError, asyncio.TimeoutError,
asyncio.CancelledError, asyncio.CancelledError,
PyLGTVCmdException, PyLGTVCmdException,

View File

@ -55,7 +55,6 @@ class LgWebOSNotificationService(BaseNotificationService):
except ( except (
OSError, OSError,
ConnectionClosed, ConnectionClosed,
ConnectionRefusedError,
asyncio.TimeoutError, asyncio.TimeoutError,
asyncio.CancelledError, asyncio.CancelledError,
PyLGTVCmdException, PyLGTVCmdException,