From 22f63be30e28bc66ac2e9b3982c59c46e983f6dc Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Fri, 20 Nov 2020 21:48:23 +0100 Subject: [PATCH] Remove salt integration for webscraping (#43452) --- .coveragerc | 1 - CODEOWNERS | 1 - homeassistant/components/salt/__init__.py | 1 - .../components/salt/device_tracker.py | 71 ------------------- homeassistant/components/salt/manifest.json | 7 -- requirements_all.txt | 3 - 6 files changed, 84 deletions(-) delete mode 100644 homeassistant/components/salt/__init__.py delete mode 100644 homeassistant/components/salt/device_tracker.py delete mode 100644 homeassistant/components/salt/manifest.json diff --git a/.coveragerc b/.coveragerc index dd72a42aa77..be67b91ea61 100644 --- a/.coveragerc +++ b/.coveragerc @@ -749,7 +749,6 @@ omit = homeassistant/components/russound_rnet/media_player.py homeassistant/components/sabnzbd/* homeassistant/components/saj/sensor.py - homeassistant/components/salt/device_tracker.py homeassistant/components/satel_integra/* homeassistant/components/schluter/* homeassistant/components/scrape/sensor.py diff --git a/CODEOWNERS b/CODEOWNERS index 0cf31095b52..3902f3f5d5f 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -376,7 +376,6 @@ homeassistant/components/rpi_power/* @shenxn @swetoast homeassistant/components/ruckus_unleashed/* @gabe565 homeassistant/components/safe_mode/* @home-assistant/core homeassistant/components/saj/* @fredericvl -homeassistant/components/salt/* @bjornorri homeassistant/components/samsungtv/* @escoand homeassistant/components/scene/* @home-assistant/core homeassistant/components/schluter/* @prairieapps diff --git a/homeassistant/components/salt/__init__.py b/homeassistant/components/salt/__init__.py deleted file mode 100644 index 29c371ece52..00000000000 --- a/homeassistant/components/salt/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""The salt component.""" diff --git a/homeassistant/components/salt/device_tracker.py b/homeassistant/components/salt/device_tracker.py deleted file mode 100644 index 7c03403622a..00000000000 --- a/homeassistant/components/salt/device_tracker.py +++ /dev/null @@ -1,71 +0,0 @@ -"""Support for Salt Fiber Box routers.""" -import logging - -from saltbox import RouterLoginException, RouterNotReachableException, SaltBox -import voluptuous as vol - -from homeassistant.components.device_tracker import ( - DOMAIN, - PLATFORM_SCHEMA, - DeviceScanner, -) -from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME -import homeassistant.helpers.config_validation as cv - -_LOGGER = logging.getLogger(__name__) - -PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( - { - vol.Required(CONF_HOST): cv.string, - vol.Required(CONF_USERNAME): cv.string, - vol.Required(CONF_PASSWORD): cv.string, - } -) - - -def get_scanner(hass, config): - """Return the Salt device scanner.""" - scanner = SaltDeviceScanner(config[DOMAIN]) - - # Test whether the router is accessible. - data = scanner.get_salt_data() - return scanner if data is not None else None - - -class SaltDeviceScanner(DeviceScanner): - """This class queries a Salt Fiber Box router.""" - - def __init__(self, config): - """Initialize the scanner.""" - host = config[CONF_HOST] - username = config[CONF_USERNAME] - password = config[CONF_PASSWORD] - self.saltbox = SaltBox(f"http://{host}", username, password) - self.online_clients = [] - - def scan_devices(self): - """Scan for new devices and return a list with found device IDs.""" - self._update_info() - return [client["mac"] for client in self.online_clients] - - def get_device_name(self, device): - """Return the name of the given device or None if we don't know.""" - for client in self.online_clients: - if client["mac"] == device: - return client["name"] - return None - - def get_salt_data(self): - """Retrieve data from Salt router and return parsed result.""" - try: - clients = self.saltbox.get_online_clients() - return clients - except (RouterLoginException, RouterNotReachableException) as error: - _LOGGER.warning(error) - return None - - def _update_info(self): - """Pull the current information from the Salt router.""" - _LOGGER.debug("Loading data from Salt Fiber Box") - data = self.get_salt_data() - self.online_clients = data or [] diff --git a/homeassistant/components/salt/manifest.json b/homeassistant/components/salt/manifest.json deleted file mode 100644 index cad9b6d3661..00000000000 --- a/homeassistant/components/salt/manifest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "domain": "salt", - "name": "Salt Fiber Box", - "documentation": "https://www.home-assistant.io/integrations/salt", - "requirements": ["saltbox==0.1.3"], - "codeowners": ["@bjornorri"] -} diff --git a/requirements_all.txt b/requirements_all.txt index 1583a5327eb..e972f69aeb8 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1974,9 +1974,6 @@ russound_rio==0.1.7 # homeassistant.components.yamaha rxv==0.6.0 -# homeassistant.components.salt -saltbox==0.1.3 - # homeassistant.components.samsungtv samsungctl[websocket]==0.7.1