From b34cc7ef2caf519f6767ee13b7722d52f682d96f Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 4 Apr 2021 20:40:08 +0200 Subject: [PATCH] Remove Social Blade integration (ADR-0004) (#48677) * Remove Social Blade integration (ADR-0004) * Cleanup coveragerc --- .coveragerc | 1 - .../components/socialblade/__init__.py | 1 - .../components/socialblade/manifest.json | 7 -- .../components/socialblade/sensor.py | 84 ------------------- requirements_all.txt | 3 - 5 files changed, 96 deletions(-) delete mode 100644 homeassistant/components/socialblade/__init__.py delete mode 100644 homeassistant/components/socialblade/manifest.json delete mode 100644 homeassistant/components/socialblade/sensor.py diff --git a/.coveragerc b/.coveragerc index 22855a26dd9..b7458cdff1d 100644 --- a/.coveragerc +++ b/.coveragerc @@ -895,7 +895,6 @@ omit = homeassistant/components/snapcast/* homeassistant/components/snmp/* homeassistant/components/sochain/sensor.py - homeassistant/components/socialblade/sensor.py homeassistant/components/solaredge/__init__.py homeassistant/components/solaredge/sensor.py homeassistant/components/solaredge_local/sensor.py diff --git a/homeassistant/components/socialblade/__init__.py b/homeassistant/components/socialblade/__init__.py deleted file mode 100644 index c497d99d32c..00000000000 --- a/homeassistant/components/socialblade/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""The socialblade component.""" diff --git a/homeassistant/components/socialblade/manifest.json b/homeassistant/components/socialblade/manifest.json deleted file mode 100644 index d73e7686947..00000000000 --- a/homeassistant/components/socialblade/manifest.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "domain": "socialblade", - "name": "Social Blade", - "documentation": "https://www.home-assistant.io/integrations/socialblade", - "requirements": ["socialbladeclient==0.5"], - "codeowners": [] -} diff --git a/homeassistant/components/socialblade/sensor.py b/homeassistant/components/socialblade/sensor.py deleted file mode 100644 index e38c45d10b4..00000000000 --- a/homeassistant/components/socialblade/sensor.py +++ /dev/null @@ -1,84 +0,0 @@ -"""Support for Social Blade.""" -from datetime import timedelta -import logging - -import socialbladeclient -import voluptuous as vol - -from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity -from homeassistant.const import CONF_NAME -from homeassistant.helpers import config_validation as cv -from homeassistant.util import Throttle - -_LOGGER = logging.getLogger(__name__) - -CHANNEL_ID = "channel_id" - -DEFAULT_NAME = "Social Blade" - -MIN_TIME_BETWEEN_UPDATES = timedelta(hours=2) - -SUBSCRIBERS = "subscribers" - -TOTAL_VIEWS = "total_views" - -PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( - { - vol.Required(CHANNEL_ID): cv.string, - vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - } -) - - -def setup_platform(hass, config, add_entities, discovery_info=None): - """Set up the Social Blade sensor.""" - social_blade = SocialBladeSensor(config[CHANNEL_ID], config[CONF_NAME]) - - social_blade.update() - if social_blade.valid_channel_id is False: - return - - add_entities([social_blade]) - - -class SocialBladeSensor(SensorEntity): - """Representation of a Social Blade Sensor.""" - - def __init__(self, case, name): - """Initialize the Social Blade sensor.""" - self._state = None - self.channel_id = case - self._attributes = None - self.valid_channel_id = None - self._name = name - - @property - def name(self): - """Return the name.""" - return self._name - - @property - def state(self): - """Return the state.""" - return self._state - - @property - def extra_state_attributes(self): - """Return the state attributes.""" - if self._attributes: - return self._attributes - - @Throttle(MIN_TIME_BETWEEN_UPDATES) - def update(self): - """Get the latest data from Social Blade.""" - - try: - data = socialbladeclient.get_data(self.channel_id) - self._attributes = {TOTAL_VIEWS: data[TOTAL_VIEWS]} - self._state = data[SUBSCRIBERS] - self.valid_channel_id = True - - except (ValueError, IndexError): - _LOGGER.error("Unable to find valid channel ID") - self.valid_channel_id = False - self._attributes = None diff --git a/requirements_all.txt b/requirements_all.txt index 8025f6b1e6f..88bcfb05e90 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2080,9 +2080,6 @@ smhi-pkg==1.0.13 # homeassistant.components.snapcast snapcast==2.1.2 -# homeassistant.components.socialblade -socialbladeclient==0.5 - # homeassistant.components.solaredge_local solaredge-local==0.2.0