Move attribution to standalone attribute [t-z] (#80521)

pull/80534/head
epenet 2022-10-18 13:33:36 +02:00 committed by GitHub
parent c37e4b870f
commit 62690759d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 23 additions and 44 deletions

View File

@ -5,12 +5,7 @@ import logging
from homeassistant.components.sensor import SensorEntity, SensorStateClass
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_LATITUDE,
ATTR_LONGITUDE,
CURRENCY_EURO,
)
from homeassistant.const import ATTR_LATITUDE, ATTR_LONGITUDE, CURRENCY_EURO
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -62,6 +57,7 @@ async def async_setup_entry(
class FuelPriceSensor(TankerkoenigCoordinatorEntity, SensorEntity):
"""Contains prices for fuel in a given station."""
_attr_attribution = ATTRIBUTION
_attr_state_class = SensorStateClass.MEASUREMENT
_attr_icon = "mdi:gas-station"
@ -74,7 +70,6 @@ class FuelPriceSensor(TankerkoenigCoordinatorEntity, SensorEntity):
self._attr_native_unit_of_measurement = CURRENCY_EURO
self._attr_unique_id = f"{station['id']}_{fuel_type}"
attrs = {
ATTR_ATTRIBUTION: ATTRIBUTION,
ATTR_BRAND: station["brand"],
ATTR_FUEL_TYPE: fuel_type,
ATTR_STATION_NAME: station["name"],

View File

@ -9,7 +9,7 @@ from tmb import IBus
import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ATTR_ATTRIBUTION, CONF_NAME, TIME_MINUTES
from homeassistant.const import CONF_NAME, TIME_MINUTES
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -18,8 +18,6 @@ from homeassistant.util import Throttle
_LOGGER = logging.getLogger(__name__)
ATTRIBUTION = "Data provided by Transport Metropolitans de Barcelona"
ICON = "mdi:bus-clock"
CONF_APP_ID = "app_id"
@ -75,6 +73,8 @@ def setup_platform(
class TMBSensor(SensorEntity):
"""Implementation of a TMB line/stop Sensor."""
_attr_attribution = "Data provided by Transport Metropolitans de Barcelona"
def __init__(self, ibus_client, stop, line, name):
"""Initialize the sensor."""
self._ibus_client = ibus_client
@ -113,7 +113,6 @@ class TMBSensor(SensorEntity):
def extra_state_attributes(self):
"""Return the state attributes of the last update."""
return {
ATTR_ATTRIBUTION: ATTRIBUTION,
ATTR_BUS_STOP: self._stop,
ATTR_LINE: self._line,
}

View File

@ -320,6 +320,8 @@ class TomorrowioDataUpdateCoordinator(DataUpdateCoordinator):
class TomorrowioEntity(CoordinatorEntity[TomorrowioDataUpdateCoordinator]):
"""Base Tomorrow.io Entity."""
_attr_attribution = ATTRIBUTION
def __init__(
self,
config_entry: ConfigEntry,
@ -346,8 +348,3 @@ class TomorrowioEntity(CoordinatorEntity[TomorrowioDataUpdateCoordinator]):
"""
entry_id = self._config_entry.entry_id
return self.coordinator.data[entry_id].get(CURRENT, {}).get(property_name)
@property
def attribution(self):
"""Return the attribution."""
return ATTRIBUTION

View File

@ -20,7 +20,6 @@ from homeassistant.components.sensor import (
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_ATTRIBUTION,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_MILLION,
CONF_API_KEY,
@ -326,7 +325,6 @@ class BaseTomorrowioSensorEntity(TomorrowioEntity, SensorEntity):
self._attr_unique_id = (
f"{self._config_entry.unique_id}_{slugify(description.name)}"
)
self._attr_extra_state_attributes = {ATTR_ATTRIBUTION: self.attribution}
if self.entity_description.native_unit_of_measurement is None:
self._attr_native_unit_of_measurement = description.unit_metric
if hass.config.units is IMPERIAL_SYSTEM:

View File

@ -7,13 +7,7 @@ from TransportNSW import TransportNSW
import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_MODE,
CONF_API_KEY,
CONF_NAME,
TIME_MINUTES,
)
from homeassistant.const import ATTR_MODE, CONF_API_KEY, CONF_NAME, TIME_MINUTES
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -26,8 +20,6 @@ ATTR_DELAY = "delay"
ATTR_REAL_TIME = "real_time"
ATTR_DESTINATION = "destination"
ATTRIBUTION = "Data provided by Transport NSW"
CONF_STOP_ID = "stop_id"
CONF_ROUTE = "route"
CONF_DESTINATION = "destination"
@ -77,6 +69,8 @@ def setup_platform(
class TransportNSWSensor(SensorEntity):
"""Implementation of an Transport NSW sensor."""
_attr_attribution = "Data provided by Transport NSW"
def __init__(self, data, stop_id, name):
"""Initialize the sensor."""
self.data = data
@ -107,7 +101,6 @@ class TransportNSWSensor(SensorEntity):
ATTR_REAL_TIME: self._times[ATTR_REAL_TIME],
ATTR_DESTINATION: self._times[ATTR_DESTINATION],
ATTR_MODE: self._times[ATTR_MODE],
ATTR_ATTRIBUTION: ATTRIBUTION,
}
@property

View File

@ -15,7 +15,6 @@ from homeassistant.components.sensor import (
SensorEntityDescription,
)
from homeassistant.const import (
ATTR_ATTRIBUTION,
CONF_API_KEY,
CONF_MONITORED_CONDITIONS,
CONF_SCAN_INTERVAL,
@ -28,8 +27,6 @@ from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
ATTRIBUTION = "Information provided by https://travis-ci.org/"
CONF_BRANCH = "branch"
CONF_REPOSITORY = "repository"
@ -142,6 +139,8 @@ def setup_platform(
class TravisCISensor(SensorEntity):
"""Representation of a Travis CI sensor."""
_attr_attribution = "Information provided by https://travis-ci.org/"
def __init__(
self, data, repo_name, user, branch, description: SensorEntityDescription
):
@ -159,7 +158,6 @@ class TravisCISensor(SensorEntity):
def extra_state_attributes(self):
"""Return the state attributes."""
attrs = {}
attrs[ATTR_ATTRIBUTION] = ATTRIBUTION
if self._build and self._attr_native_value is not None:
if self._user and self.entity_description.key == "state":

View File

@ -8,7 +8,7 @@ import vasttrafik
import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ATTR_ATTRIBUTION, CONF_DELAY, CONF_NAME
from homeassistant.const import CONF_DELAY, CONF_NAME
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -22,7 +22,6 @@ ATTR_ACCESSIBILITY = "accessibility"
ATTR_DIRECTION = "direction"
ATTR_LINE = "line"
ATTR_TRACK = "track"
ATTRIBUTION = "Data provided by Västtrafik"
CONF_DEPARTURES = "departures"
CONF_FROM = "from"
@ -83,6 +82,8 @@ def setup_platform(
class VasttrafikDepartureSensor(SensorEntity):
"""Implementation of a Vasttrafik Departure Sensor."""
_attr_attribution = "Data provided by Västtrafik"
def __init__(self, planner, name, departure, heading, lines, delay):
"""Initialize the sensor."""
self._planner = planner
@ -158,7 +159,6 @@ class VasttrafikDepartureSensor(SensorEntity):
params = {
ATTR_ACCESSIBILITY: departure.get("accessibility"),
ATTR_ATTRIBUTION: ATTRIBUTION,
ATTR_DIRECTION: departure.get("direction"),
ATTR_LINE: departure.get("sname"),
ATTR_TRACK: departure.get("track"),

View File

@ -11,7 +11,7 @@ import async_timeout
import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ATTR_ATTRIBUTION, TIME_MINUTES
from homeassistant.const import TIME_MINUTES
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
@ -20,8 +20,6 @@ from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
ATTRIBUTION = "Powered by ViaggiaTreno Data"
VIAGGIATRENO_ENDPOINT = (
"http://www.viaggiatreno.it/infomobilita/"
"resteasy/viaggiatreno/andamentoTreno/"
@ -96,6 +94,8 @@ async def async_http_request(hass, uri):
class ViaggiaTrenoSensor(SensorEntity):
"""Implementation of a ViaggiaTreno sensor."""
_attr_attribution = "Powered by ViaggiaTreno Data"
def __init__(self, train_id, station_id, name):
"""Initialize the sensor."""
self._state = None
@ -132,7 +132,6 @@ class ViaggiaTrenoSensor(SensorEntity):
@property
def extra_state_attributes(self):
"""Return extra attributes."""
self._attributes[ATTR_ATTRIBUTION] = ATTRIBUTION
return self._attributes
@staticmethod

View File

@ -13,7 +13,6 @@ from homeassistant.components.sensor import (
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_ATTRIBUTION,
CONF_NAME,
CONF_REGION,
EVENT_HOMEASSISTANT_STARTED,
@ -115,6 +114,7 @@ async def async_setup_entry(
class WazeTravelTime(SensorEntity):
"""Representation of a Waze travel time sensor."""
_attr_attribution = "Powered by Waze"
_attr_native_unit_of_measurement = TIME_MINUTES
_attr_device_class = SensorDeviceClass.DURATION
_attr_state_class = SensorStateClass.MEASUREMENT
@ -159,7 +159,6 @@ class WazeTravelTime(SensorEntity):
return None
return {
ATTR_ATTRIBUTION: "Powered by Waze",
"duration": self._waze_data.duration,
"distance": self._waze_data.distance,
"route": self._waze_data.route,

View File

@ -12,7 +12,7 @@ from homeassistant.components.sensor import (
SensorDeviceClass,
SensorEntity,
)
from homeassistant.const import ATTR_ATTRIBUTION, CONF_NAME
from homeassistant.const import CONF_NAME
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_create_clientsession
import homeassistant.helpers.config_validation as cv
@ -24,7 +24,6 @@ _LOGGER = logging.getLogger(__name__)
STOP_NAME = "stop_name"
USER_AGENT = "Home Assistant"
ATTRIBUTION = "Data provided by maps.yandex.ru"
CONF_STOP_ID = "stop_id"
CONF_ROUTE = "routes"
@ -70,6 +69,8 @@ async def async_setup_platform(
class DiscoverYandexTransport(SensorEntity):
"""Implementation of yandex_transport sensor."""
_attr_attribution = "Data provided by maps.yandex.ru"
def __init__(self, requester: YandexMapsRequester, stop_id, routes, name):
"""Initialize sensor."""
self.requester = requester
@ -138,7 +139,7 @@ class DiscoverYandexTransport(SensorEntity):
attrs[route] = []
attrs[route].append(departure["text"])
attrs[STOP_NAME] = stop_name
attrs[ATTR_ATTRIBUTION] = ATTRIBUTION
if closer_time is None:
self._state = None
else: