From f17a5f0db93d696442d9144e9064089d37e088db Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 11 Jun 2021 13:29:50 +0200 Subject: [PATCH] Clean up redudant exceptions from handlers (#51741) --- homeassistant/components/coolmaster/__init__.py | 4 ++-- homeassistant/components/coolmaster/config_flow.py | 2 +- homeassistant/components/kef/media_player.py | 2 +- homeassistant/components/keyboard_remote/__init__.py | 4 ++-- homeassistant/components/mpd/media_player.py | 2 +- homeassistant/components/panasonic_viera/__init__.py | 4 ++-- homeassistant/components/panasonic_viera/config_flow.py | 6 +++--- homeassistant/components/pioneer/media_player.py | 4 ++-- homeassistant/components/rflink/__init__.py | 2 -- homeassistant/components/roomba/config_flow.py | 2 +- homeassistant/components/rtorrent/sensor.py | 2 +- homeassistant/components/webostv/__init__.py | 1 - homeassistant/components/webostv/notify.py | 1 - 13 files changed, 16 insertions(+), 20 deletions(-) diff --git a/homeassistant/components/coolmaster/__init__.py b/homeassistant/components/coolmaster/__init__.py index e6cf6f36277..1bcf20f4d5e 100644 --- a/homeassistant/components/coolmaster/__init__.py +++ b/homeassistant/components/coolmaster/__init__.py @@ -24,7 +24,7 @@ async def async_setup_entry(hass, entry): info = await coolmaster.info() if not info: raise ConfigEntryNotReady - except (OSError, ConnectionRefusedError, TimeoutError) as error: + except OSError as error: raise ConfigEntryNotReady() from error coordinator = CoolmasterDataUpdateCoordinator(hass, coolmaster) hass.data.setdefault(DOMAIN, {}) @@ -64,5 +64,5 @@ class CoolmasterDataUpdateCoordinator(DataUpdateCoordinator): """Fetch data from Coolmaster.""" try: return await self._coolmaster.status() - except (OSError, ConnectionRefusedError, TimeoutError) as error: + except OSError as error: raise UpdateFailed from error diff --git a/homeassistant/components/coolmaster/config_flow.py b/homeassistant/components/coolmaster/config_flow.py index 1091c24ea31..6a5c517fc85 100644 --- a/homeassistant/components/coolmaster/config_flow.py +++ b/homeassistant/components/coolmaster/config_flow.py @@ -51,7 +51,7 @@ class CoolmasterConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): result = await _validate_connection(self.hass, host) if not result: errors["base"] = "no_units" - except (OSError, ConnectionRefusedError, TimeoutError): + except OSError: errors["base"] = "cannot_connect" if errors: diff --git a/homeassistant/components/kef/media_player.py b/homeassistant/components/kef/media_player.py index 9452e24a4f2..f32f825acc4 100644 --- a/homeassistant/components/kef/media_player.py +++ b/homeassistant/components/kef/media_player.py @@ -256,7 +256,7 @@ class KefMediaPlayer(MediaPlayerEntity): self._source = None self._volume = None self._state = STATE_OFF - except (ConnectionRefusedError, ConnectionError, TimeoutError) as err: + except (ConnectionError, TimeoutError) as err: _LOGGER.debug("Error in `update`: %s", err) self._state = None diff --git a/homeassistant/components/keyboard_remote/__init__.py b/homeassistant/components/keyboard_remote/__init__.py index 2ada56e1c44..1d16dd12cc2 100644 --- a/homeassistant/components/keyboard_remote/__init__.py +++ b/homeassistant/components/keyboard_remote/__init__.py @@ -161,7 +161,7 @@ class KeyboardRemote: # devices are often added and then correct permissions set after try: dev = InputDevice(descriptor) - except (OSError, PermissionError): + except OSError: return (None, None) handler = None @@ -318,7 +318,7 @@ class KeyboardRemote: ): repeat_tasks[event.code].cancel() del repeat_tasks[event.code] - except (OSError, PermissionError, asyncio.CancelledError): + except (OSError, asyncio.CancelledError): # cancel key repeat tasks for task in repeat_tasks.values(): task.cancel() diff --git a/homeassistant/components/mpd/media_player.py b/homeassistant/components/mpd/media_player.py index adb4bf0e810..baf57844eaf 100644 --- a/homeassistant/components/mpd/media_player.py +++ b/homeassistant/components/mpd/media_player.py @@ -167,7 +167,7 @@ class MpdDevice(MediaPlayerEntity): self._commands = list(await self._client.commands()) 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 _LOGGER.debug("Error updating status: %s", error) self._disconnect() diff --git a/homeassistant/components/panasonic_viera/__init__.py b/homeassistant/components/panasonic_viera/__init__.py index 8f0a0e89d45..b217be4d4b6 100644 --- a/homeassistant/components/panasonic_viera/__init__.py +++ b/homeassistant/components/panasonic_viera/__init__.py @@ -164,7 +164,7 @@ class Remote: if during_setup: 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) self._control = None self.state = STATE_OFF @@ -251,7 +251,7 @@ class Remote: self.state = STATE_OFF self.available = True await self.async_create_remote_control() - except (TimeoutError, URLError, OSError): + except (URLError, OSError): self.state = STATE_OFF self.available = self._on_action is not None await self.async_create_remote_control() diff --git a/homeassistant/components/panasonic_viera/config_flow.py b/homeassistant/components/panasonic_viera/config_flow.py index 93c33deb4dc..42400e7348c 100644 --- a/homeassistant/components/panasonic_viera/config_flow.py +++ b/homeassistant/components/panasonic_viera/config_flow.py @@ -56,7 +56,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): self._data[ATTR_DEVICE_INFO] = await self.hass.async_add_executor_job( 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) errors["base"] = "cannot_connect" except Exception as err: # pylint: disable=broad-except @@ -114,7 +114,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): except SOAPError as err: _LOGGER.error("Invalid PIN code: %s", err) 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) return self.async_abort(reason="cannot_connect") 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( 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) return self.async_abort(reason="cannot_connect") except Exception as err: # pylint: disable=broad-except diff --git a/homeassistant/components/pioneer/media_player.py b/homeassistant/components/pioneer/media_player.py index e573bf0929c..a3e0d318c03 100644 --- a/homeassistant/components/pioneer/media_player.py +++ b/homeassistant/components/pioneer/media_player.py @@ -112,7 +112,7 @@ class PioneerDevice(MediaPlayerEntity): try: try: telnet = telnetlib.Telnet(self._host, self._port, self._timeout) - except (ConnectionRefusedError, OSError): + except OSError: _LOGGER.warning("Pioneer %s refused connection", self._name) return telnet.write(command.encode("ASCII") + b"\r") @@ -125,7 +125,7 @@ class PioneerDevice(MediaPlayerEntity): """Get the latest details from the device.""" try: telnet = telnetlib.Telnet(self._host, self._port, self._timeout) - except (ConnectionRefusedError, OSError): + except OSError: _LOGGER.warning("Pioneer %s refused connection", self._name) return False diff --git a/homeassistant/components/rflink/__init__.py b/homeassistant/components/rflink/__init__.py index c78b0c6f944..9cff8377c35 100644 --- a/homeassistant/components/rflink/__init__.py +++ b/homeassistant/components/rflink/__init__.py @@ -275,8 +275,6 @@ async def async_setup(hass, config): except ( SerialException, - ConnectionRefusedError, - TimeoutError, OSError, asyncio.TimeoutError, ) as exc: diff --git a/homeassistant/components/roomba/config_flow.py b/homeassistant/components/roomba/config_flow.py index c3ccd051dd8..4fdcbceab07 100644 --- a/homeassistant/components/roomba/config_flow.py +++ b/homeassistant/components/roomba/config_flow.py @@ -206,7 +206,7 @@ class RoombaConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): try: password = await self.hass.async_add_executor_job(roomba_pw.get_password) - except (OSError, ConnectionRefusedError): + except OSError: return await self.async_step_link_manual() if not password: diff --git a/homeassistant/components/rtorrent/sensor.py b/homeassistant/components/rtorrent/sensor.py index 4c02f49d86a..c750c7aa83c 100644 --- a/homeassistant/components/rtorrent/sensor.py +++ b/homeassistant/components/rtorrent/sensor.py @@ -122,7 +122,7 @@ class RTorrentSensor(SensorEntity): try: self.data = multicall() 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) self._available = False return diff --git a/homeassistant/components/webostv/__init__.py b/homeassistant/components/webostv/__init__.py index 681c2acfe01..af7f59bd266 100644 --- a/homeassistant/components/webostv/__init__.py +++ b/homeassistant/components/webostv/__init__.py @@ -198,7 +198,6 @@ async def async_request_configuration(hass, config, conf, client): except ( OSError, ConnectionClosed, - ConnectionRefusedError, asyncio.TimeoutError, asyncio.CancelledError, PyLGTVCmdException, diff --git a/homeassistant/components/webostv/notify.py b/homeassistant/components/webostv/notify.py index ece76b5ed32..34277eb3c09 100644 --- a/homeassistant/components/webostv/notify.py +++ b/homeassistant/components/webostv/notify.py @@ -55,7 +55,6 @@ class LgWebOSNotificationService(BaseNotificationService): except ( OSError, ConnectionClosed, - ConnectionRefusedError, asyncio.TimeoutError, asyncio.CancelledError, PyLGTVCmdException,