Add pylint plugin to check for sorted platforms list (#108115)
parent
fb24e086b2
commit
28281523ec
|
@ -63,12 +63,12 @@ AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.ALARM_CONTROL_PANEL,
|
Platform.ALARM_CONTROL_PANEL,
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.LOCK,
|
|
||||||
Platform.SWITCH,
|
|
||||||
Platform.COVER,
|
|
||||||
Platform.CAMERA,
|
Platform.CAMERA,
|
||||||
|
Platform.COVER,
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
|
Platform.LOCK,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,11 +19,11 @@ PLATFORMS = [
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.CLIMATE,
|
Platform.CLIMATE,
|
||||||
Platform.COVER,
|
Platform.COVER,
|
||||||
|
Platform.LIGHT,
|
||||||
Platform.SELECT,
|
Platform.SELECT,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
Platform.UPDATE,
|
Platform.UPDATE,
|
||||||
Platform.LIGHT,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
|
@ -39,8 +39,8 @@ _LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.ALARM_CONTROL_PANEL,
|
Platform.ALARM_CONTROL_PANEL,
|
||||||
Platform.SENSOR,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.SENSOR,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,4 +11,4 @@ CONF_SITE_NMI = "site_nmi"
|
||||||
ATTRIBUTION = "Data provided by Amber Electric"
|
ATTRIBUTION = "Data provided by Amber Electric"
|
||||||
|
|
||||||
LOGGER = logging.getLogger(__package__)
|
LOGGER = logging.getLogger(__package__)
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR]
|
||||||
|
|
|
@ -19,7 +19,7 @@ from homeassistant.helpers.update_coordinator import (
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
DOMAIN = "atag"
|
DOMAIN = "atag"
|
||||||
PLATFORMS = [Platform.CLIMATE, Platform.WATER_HEATER, Platform.SENSOR]
|
PLATFORMS = [Platform.CLIMATE, Platform.SENSOR, Platform.WATER_HEATER]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -50,9 +50,9 @@ LOGIN_METHODS = ["phone", "email"]
|
||||||
DEFAULT_LOGIN_METHOD = "email"
|
DEFAULT_LOGIN_METHOD = "email"
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
|
Platform.BINARY_SENSOR,
|
||||||
Platform.BUTTON,
|
Platform.BUTTON,
|
||||||
Platform.CAMERA,
|
Platform.CAMERA,
|
||||||
Platform.BINARY_SENSOR,
|
|
||||||
Platform.LOCK,
|
Platform.LOCK,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
]
|
]
|
||||||
|
|
|
@ -16,7 +16,7 @@ from homeassistant.util.unit_system import METRIC_SYSTEM
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [Platform.CAMERA, Platform.BINARY_SENSOR, Platform.SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.CAMERA, Platform.SENSOR]
|
||||||
|
|
||||||
DOMAIN = "bloomsky"
|
DOMAIN = "bloomsky"
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
from .const import CONF_SWING_SUPPORT, DATA_COORDINATOR, DATA_INFO, DOMAIN
|
from .const import CONF_SWING_SUPPORT, DATA_COORDINATOR, DATA_INFO, DOMAIN
|
||||||
from .coordinator import CoolmasterDataUpdateCoordinator
|
from .coordinator import CoolmasterDataUpdateCoordinator
|
||||||
|
|
||||||
PLATFORMS = [Platform.CLIMATE, Platform.BINARY_SENSOR, Platform.BUTTON, Platform.SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.BUTTON, Platform.CLIMATE, Platform.SENSOR]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -15,7 +15,7 @@ from homeassistant.util import Throttle
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR, Platform.SWITCH]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR, Platform.SWITCH]
|
||||||
DOMAIN = "danfoss_air"
|
DOMAIN = "danfoss_air"
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
|
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
|
||||||
|
|
|
@ -6,7 +6,7 @@ from homeassistant.const import CONF_ROOM, Platform
|
||||||
LOGGER = logging.getLogger(__package__)
|
LOGGER = logging.getLogger(__package__)
|
||||||
DOMAIN = "dynalite"
|
DOMAIN = "dynalite"
|
||||||
|
|
||||||
PLATFORMS = [Platform.LIGHT, Platform.SWITCH, Platform.COVER]
|
PLATFORMS = [Platform.COVER, Platform.LIGHT, Platform.SWITCH]
|
||||||
|
|
||||||
|
|
||||||
CONF_ACTIVE = "active"
|
CONF_ACTIVE = "active"
|
||||||
|
|
|
@ -27,8 +27,8 @@ from .const import API_CLIENT, DOMAIN, EQUIPMENT
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.CLIMATE,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.CLIMATE,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.WATER_HEATER,
|
Platform.WATER_HEATER,
|
||||||
]
|
]
|
||||||
|
|
|
@ -15,8 +15,8 @@ SIGNAL_SEND_MESSAGE = "enocean.send_message"
|
||||||
LOGGER = logging.getLogger(__package__)
|
LOGGER = logging.getLogger(__package__)
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.LIGHT,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.LIGHT,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
|
@ -42,12 +42,12 @@ PLATFORMS = [
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.CLIMATE,
|
Platform.CLIMATE,
|
||||||
Platform.COVER,
|
Platform.COVER,
|
||||||
|
Platform.EVENT,
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
|
Platform.LOCK,
|
||||||
Platform.SCENE,
|
Platform.SCENE,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.LOCK,
|
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
Platform.EVENT,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
FIBARO_TYPEMAP = {
|
FIBARO_TYPEMAP = {
|
||||||
|
|
|
@ -25,7 +25,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR, Platform.SWITCH]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -19,12 +19,12 @@ API_VERSION = "v6"
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.ALARM_CONTROL_PANEL,
|
Platform.ALARM_CONTROL_PANEL,
|
||||||
|
Platform.BINARY_SENSOR,
|
||||||
Platform.BUTTON,
|
Platform.BUTTON,
|
||||||
|
Platform.CAMERA,
|
||||||
Platform.DEVICE_TRACKER,
|
Platform.DEVICE_TRACKER,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.BINARY_SENSOR,
|
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
Platform.CAMERA,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
DEFAULT_DEVICE_NAME = "Unknown device"
|
DEFAULT_DEVICE_NAME = "Unknown device"
|
||||||
|
|
|
@ -28,8 +28,8 @@ class MeshRoles(StrEnum):
|
||||||
DOMAIN = "fritz"
|
DOMAIN = "fritz"
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.BUTTON,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.BUTTON,
|
||||||
Platform.DEVICE_TRACKER,
|
Platform.DEVICE_TRACKER,
|
||||||
Platform.IMAGE,
|
Platform.IMAGE,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
|
|
|
@ -7,7 +7,7 @@ from homeassistant.const import Platform
|
||||||
|
|
||||||
DOMAIN = "gdacs"
|
DOMAIN = "gdacs"
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.GEO_LOCATION]
|
PLATFORMS = [Platform.GEO_LOCATION, Platform.SENSOR]
|
||||||
|
|
||||||
FEED = "feed"
|
FEED = "feed"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ from homeassistant.const import Platform
|
||||||
|
|
||||||
DOMAIN = "geonetnz_quakes"
|
DOMAIN = "geonetnz_quakes"
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.GEO_LOCATION]
|
PLATFORMS = [Platform.GEO_LOCATION, Platform.SENSOR]
|
||||||
|
|
||||||
CONF_MINIMUM_MAGNITUDE = "minimum_magnitude"
|
CONF_MINIMUM_MAGNITUDE = "minimum_magnitude"
|
||||||
CONF_MMI = "mmi"
|
CONF_MMI = "mmi"
|
||||||
|
|
|
@ -127,9 +127,9 @@ PLATFORMS = [
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.BUTTON,
|
Platform.BUTTON,
|
||||||
Platform.DEVICE_TRACKER,
|
Platform.DEVICE_TRACKER,
|
||||||
|
Platform.SELECT,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
Platform.SELECT,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ from .const import (
|
||||||
SIGNAL_INSTANCE_REMOVE,
|
SIGNAL_INSTANCE_REMOVE,
|
||||||
)
|
)
|
||||||
|
|
||||||
PLATFORMS = [Platform.LIGHT, Platform.SWITCH, Platform.CAMERA]
|
PLATFORMS = [Platform.CAMERA, Platform.LIGHT, Platform.SWITCH]
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ from .const import DATA_API, DATA_LOCATION, DOMAIN
|
||||||
|
|
||||||
DEFAULT_NAME = "ipma"
|
DEFAULT_NAME = "ipma"
|
||||||
|
|
||||||
PLATFORMS = [Platform.WEATHER, Platform.SENSOR]
|
PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ from .device import JuiceNetApi
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.SWITCH, Platform.NUMBER]
|
PLATFORMS = [Platform.NUMBER, Platform.SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
CONFIG_SCHEMA = vol.Schema(
|
CONFIG_SCHEMA = vol.Schema(
|
||||||
vol.All(
|
vol.All(
|
||||||
|
|
|
@ -72,4 +72,4 @@ DEFAULT_AQI_STANDARD = "us"
|
||||||
DEFAULT_PREFERRED_UNIT: list[str] = []
|
DEFAULT_PREFERRED_UNIT: list[str] = []
|
||||||
DEFAULT_SCAN_INTERVAL = timedelta(seconds=30)
|
DEFAULT_SCAN_INTERVAL = timedelta(seconds=30)
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.AIR_QUALITY]
|
PLATFORMS = [Platform.AIR_QUALITY, Platform.SENSOR]
|
||||||
|
|
|
@ -91,12 +91,12 @@ CONFIG_SCHEMA = vol.Schema(
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.BUTTON,
|
||||||
Platform.COVER,
|
Platform.COVER,
|
||||||
Platform.FAN,
|
Platform.FAN,
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
Platform.SCENE,
|
Platform.SCENE,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
Platform.BUTTON,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ from .http_api import RegistrationsView
|
||||||
from .util import async_create_cloud_hook
|
from .util import async_create_cloud_hook
|
||||||
from .webhook import handle_webhook
|
from .webhook import handle_webhook
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR, Platform.DEVICE_TRACKER]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.DEVICE_TRACKER, Platform.SENSOR]
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN)
|
CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN)
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,8 @@ _P = ParamSpec("_P")
|
||||||
SCAN_INTERVAL = timedelta(seconds=5)
|
SCAN_INTERVAL = timedelta(seconds=5)
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.LIGHT,
|
|
||||||
Platform.FAN,
|
Platform.FAN,
|
||||||
|
Platform.LIGHT,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
|
@ -17,7 +17,7 @@ from .const import DOMAIN
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [Platform.BUTTON, Platform.CLIMATE, Platform.SENSOR, Platform.BINARY_SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.BUTTON, Platform.CLIMATE, Platform.SENSOR]
|
||||||
|
|
||||||
UPDATE_INTERVAL = timedelta(seconds=60)
|
UPDATE_INTERVAL = timedelta(seconds=60)
|
||||||
|
|
||||||
|
|
|
@ -142,9 +142,9 @@ PLATFORMS = [
|
||||||
Platform.BUTTON,
|
Platform.BUTTON,
|
||||||
Platform.CAMERA,
|
Platform.CAMERA,
|
||||||
Platform.CLIMATE,
|
Platform.CLIMATE,
|
||||||
|
Platform.COVER,
|
||||||
Platform.DEVICE_TRACKER,
|
Platform.DEVICE_TRACKER,
|
||||||
Platform.EVENT,
|
Platform.EVENT,
|
||||||
Platform.COVER,
|
|
||||||
Platform.FAN,
|
Platform.FAN,
|
||||||
Platform.HUMIDIFIER,
|
Platform.HUMIDIFIER,
|
||||||
Platform.IMAGE,
|
Platform.IMAGE,
|
||||||
|
@ -152,8 +152,8 @@ PLATFORMS = [
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
Platform.LOCK,
|
Platform.LOCK,
|
||||||
Platform.NUMBER,
|
Platform.NUMBER,
|
||||||
Platform.SELECT,
|
|
||||||
Platform.SCENE,
|
Platform.SCENE,
|
||||||
|
Platform.SELECT,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SIREN,
|
Platform.SIREN,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
|
|
|
@ -41,11 +41,11 @@ CONFIG_SCHEMA = vol.Schema(
|
||||||
)
|
)
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.CAMERA,
|
|
||||||
Platform.VACUUM,
|
|
||||||
Platform.SWITCH,
|
|
||||||
Platform.SENSOR,
|
|
||||||
Platform.BUTTON,
|
Platform.BUTTON,
|
||||||
|
Platform.CAMERA,
|
||||||
|
Platform.SENSOR,
|
||||||
|
Platform.SWITCH,
|
||||||
|
Platform.VACUUM,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ CONFIG_SCHEMA = vol.Schema(
|
||||||
)
|
)
|
||||||
|
|
||||||
# Platforms for SDM API
|
# Platforms for SDM API
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.CAMERA, Platform.CLIMATE]
|
PLATFORMS = [Platform.CAMERA, Platform.CLIMATE, Platform.SENSOR]
|
||||||
|
|
||||||
# Fetch media events with a disk backed cache, with a limit for each camera
|
# Fetch media events with a disk backed cache, with a limit for each camera
|
||||||
# device. The largest media items are mp4 clips at ~120kb each, and we target
|
# device. The largest media items are mp4 clips at ~120kb each, and we target
|
||||||
|
|
|
@ -87,7 +87,7 @@ CONFIG_SCHEMA = vol.Schema(
|
||||||
extra=vol.ALLOW_EXTRA,
|
extra=vol.ALLOW_EXTRA,
|
||||||
)
|
)
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.BUTTON]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.BUTTON, Platform.SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
SIGNAL_UPDATE_LEAF = "nissan_leaf_update"
|
SIGNAL_UPDATE_LEAF = "nissan_leaf_update"
|
||||||
|
|
||||||
|
|
|
@ -32,11 +32,11 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
|
||||||
from .const import CONF_ALLOW_NOTIFY, CONF_SYSTEM, DOMAIN
|
from .const import CONF_ALLOW_NOTIFY, CONF_SYSTEM, DOMAIN
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.MEDIA_PLAYER,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
|
Platform.MEDIA_PLAYER,
|
||||||
Platform.REMOTE,
|
Platform.REMOTE,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
Platform.BINARY_SENSOR,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
LOGGER = logging.getLogger(__name__)
|
LOGGER = logging.getLogger(__name__)
|
||||||
|
|
|
@ -17,7 +17,7 @@ PLACEHOLDER_DOCS_URL = "docs_url"
|
||||||
PLACEHOLDER_DEVICE_TYPE = "device_type"
|
PLACEHOLDER_DEVICE_TYPE = "device_type"
|
||||||
PLACEHOLDER_DEVICE_NAME = "device_name"
|
PLACEHOLDER_DEVICE_NAME = "device_name"
|
||||||
DOCS_URL = "https://www.home-assistant.io/integrations/plaato/"
|
DOCS_URL = "https://www.home-assistant.io/integrations/plaato/"
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR]
|
||||||
SENSOR_DATA = "sensor_data"
|
SENSOR_DATA = "sensor_data"
|
||||||
COORDINATOR = "coordinator"
|
COORDINATOR = "coordinator"
|
||||||
DEVICE = "device"
|
DEVICE = "device"
|
||||||
|
|
|
@ -10,7 +10,7 @@ from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
PLATFORMS = [Platform.SWITCH, Platform.BINARY_SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -22,7 +22,7 @@ from .webhooks import (
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [Platform.SWITCH, Platform.BINARY_SENSOR]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False)
|
CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False)
|
||||||
|
|
||||||
|
|
|
@ -20,11 +20,11 @@ from .coordinator import RainbirdData
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.SWITCH,
|
|
||||||
Platform.SENSOR,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.NUMBER,
|
|
||||||
Platform.CALENDAR,
|
Platform.CALENDAR,
|
||||||
|
Platform.NUMBER,
|
||||||
|
Platform.SENSOR,
|
||||||
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -76,12 +76,12 @@ def _bytearray_string(data: Any) -> bytearray:
|
||||||
SERVICE_SEND_SCHEMA = vol.Schema({ATTR_EVENT: _bytearray_string})
|
SERVICE_SEND_SCHEMA = vol.Schema({ATTR_EVENT: _bytearray_string})
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.SWITCH,
|
|
||||||
Platform.SENSOR,
|
|
||||||
Platform.LIGHT,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
Platform.COVER,
|
Platform.COVER,
|
||||||
|
Platform.LIGHT,
|
||||||
|
Platform.SENSOR,
|
||||||
Platform.SIREN,
|
Platform.SIREN,
|
||||||
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,11 @@ DEFAULT_ENTITY_NAMESPACE = "ring"
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.CAMERA,
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SWITCH,
|
|
||||||
Platform.CAMERA,
|
|
||||||
Platform.SIREN,
|
Platform.SIREN,
|
||||||
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ CONF_BASE_URL = "base_url"
|
||||||
CONF_USER_DATA = "user_data"
|
CONF_USER_DATA = "user_data"
|
||||||
|
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.BUTTON,
|
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.BUTTON,
|
||||||
Platform.IMAGE,
|
Platform.IMAGE,
|
||||||
Platform.NUMBER,
|
Platform.NUMBER,
|
||||||
Platform.SELECT,
|
Platform.SELECT,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
from homeassistant.const import Platform
|
from homeassistant.const import Platform
|
||||||
|
|
||||||
DOMAIN = "roomba"
|
DOMAIN = "roomba"
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR, Platform.VACUUM]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR, Platform.VACUUM]
|
||||||
CONF_CERT = "certificate"
|
CONF_CERT = "certificate"
|
||||||
CONF_CONTINUOUS = "continuous"
|
CONF_CONTINUOUS = "continuous"
|
||||||
CONF_BLID = "blid"
|
CONF_BLID = "blid"
|
||||||
|
|
|
@ -34,15 +34,15 @@ STORAGE_VERSION = 1
|
||||||
# Ordered 'specific to least-specific platform' in order for capabilities
|
# Ordered 'specific to least-specific platform' in order for capabilities
|
||||||
# to be drawn-down and represented by the most appropriate platform.
|
# to be drawn-down and represented by the most appropriate platform.
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
|
Platform.BINARY_SENSOR,
|
||||||
Platform.CLIMATE,
|
Platform.CLIMATE,
|
||||||
|
Platform.COVER,
|
||||||
Platform.FAN,
|
Platform.FAN,
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
Platform.LOCK,
|
Platform.LOCK,
|
||||||
Platform.COVER,
|
|
||||||
Platform.SWITCH,
|
|
||||||
Platform.BINARY_SENSOR,
|
|
||||||
Platform.SENSOR,
|
|
||||||
Platform.SCENE,
|
Platform.SCENE,
|
||||||
|
Platform.SENSOR,
|
||||||
|
Platform.SWITCH,
|
||||||
]
|
]
|
||||||
|
|
||||||
IGNORED_CAPABILITIES = [
|
IGNORED_CAPABILITIES = [
|
||||||
|
|
|
@ -4,4 +4,4 @@ from homeassistant.const import Platform
|
||||||
DOMAIN = "spider"
|
DOMAIN = "spider"
|
||||||
DEFAULT_SCAN_INTERVAL = 300
|
DEFAULT_SCAN_INTERVAL = 300
|
||||||
|
|
||||||
PLATFORMS = [Platform.CLIMATE, Platform.SWITCH, Platform.SENSOR]
|
PLATFORMS = [Platform.CLIMATE, Platform.SENSOR, Platform.SWITCH]
|
||||||
|
|
|
@ -9,7 +9,7 @@ from homeassistant.helpers import device_registry as dr
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
from .coordinator import TailwindDataUpdateCoordinator
|
from .coordinator import TailwindDataUpdateCoordinator
|
||||||
|
|
||||||
PLATFORMS = [Platform.BINARY_SENSOR, Platform.COVER, Platform.BUTTON, Platform.NUMBER]
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.BUTTON, Platform.COVER, Platform.NUMBER]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -7,7 +7,7 @@ from homeassistant.core import HomeAssistant
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
from .coordinator import VodafoneStationRouter
|
from .coordinator import VodafoneStationRouter
|
||||||
|
|
||||||
PLATFORMS = [Platform.DEVICE_TRACKER, Platform.SENSOR, Platform.BUTTON]
|
PLATFORMS = [Platform.BUTTON, Platform.DEVICE_TRACKER, Platform.SENSOR]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -11,7 +11,7 @@ from homeassistant.exceptions import ConfigEntryAuthFailed
|
||||||
from .const import CONF_STATION, DOMAIN, UPDATE_INTERVAL
|
from .const import CONF_STATION, DOMAIN, UPDATE_INTERVAL
|
||||||
from .coordinator import InvalidAuth, WallboxCoordinator
|
from .coordinator import InvalidAuth, WallboxCoordinator
|
||||||
|
|
||||||
PLATFORMS = [Platform.SENSOR, Platform.NUMBER, Platform.LOCK, Platform.SWITCH]
|
PLATFORMS = [Platform.LOCK, Platform.NUMBER, Platform.SENSOR, Platform.SWITCH]
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
"""Plugin for checking sorted platforms list."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from astroid import nodes
|
||||||
|
from pylint.checkers import BaseChecker
|
||||||
|
from pylint.lint import PyLinter
|
||||||
|
|
||||||
|
|
||||||
|
class HassEnforceSortedPlatformsChecker(BaseChecker):
|
||||||
|
"""Checker for sorted platforms list."""
|
||||||
|
|
||||||
|
name = "hass_enforce_sorted_platforms"
|
||||||
|
priority = -1
|
||||||
|
msgs = {
|
||||||
|
"W7451": (
|
||||||
|
"Platforms must be sorted alphabetically",
|
||||||
|
"hass-enforce-sorted-platforms",
|
||||||
|
"Used when PLATFORMS should be sorted alphabetically.",
|
||||||
|
),
|
||||||
|
}
|
||||||
|
options = ()
|
||||||
|
|
||||||
|
def visit_assign(self, node: nodes.Assign) -> None:
|
||||||
|
"""Check for sorted PLATFORMS const."""
|
||||||
|
for target in node.targets:
|
||||||
|
if (
|
||||||
|
isinstance(target, nodes.AssignName)
|
||||||
|
and target.name == "PLATFORMS"
|
||||||
|
and isinstance(node.value, nodes.List)
|
||||||
|
):
|
||||||
|
platforms = [v.as_string() for v in node.value.elts]
|
||||||
|
sorted_platforms = sorted(platforms)
|
||||||
|
if platforms != sorted_platforms:
|
||||||
|
self.add_message("hass-enforce-sorted-platforms", node=node)
|
||||||
|
|
||||||
|
|
||||||
|
def register(linter: PyLinter) -> None:
|
||||||
|
"""Register the checker."""
|
||||||
|
linter.register_checker(HassEnforceSortedPlatformsChecker(linter))
|
|
@ -103,6 +103,7 @@ init-hook = """\
|
||||||
load-plugins = [
|
load-plugins = [
|
||||||
"pylint.extensions.code_style",
|
"pylint.extensions.code_style",
|
||||||
"pylint.extensions.typing",
|
"pylint.extensions.typing",
|
||||||
|
"hass_enforce_sorted_platforms",
|
||||||
"hass_enforce_super_call",
|
"hass_enforce_super_call",
|
||||||
"hass_enforce_type_hints",
|
"hass_enforce_type_hints",
|
||||||
"hass_inheritance",
|
"hass_inheritance",
|
||||||
|
|
|
@ -80,3 +80,24 @@ def super_call_checker_fixture(hass_enforce_super_call, linter) -> BaseChecker:
|
||||||
super_call_checker = hass_enforce_super_call.HassEnforceSuperCallChecker(linter)
|
super_call_checker = hass_enforce_super_call.HassEnforceSuperCallChecker(linter)
|
||||||
super_call_checker.module = "homeassistant.components.pylint_test"
|
super_call_checker.module = "homeassistant.components.pylint_test"
|
||||||
return super_call_checker
|
return super_call_checker
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(name="hass_enforce_sorted_platforms", scope="session")
|
||||||
|
def hass_enforce_sorted_platforms_fixture() -> ModuleType:
|
||||||
|
"""Fixture to the content for the hass_enforce_sorted_platforms check."""
|
||||||
|
return _load_plugin_from_file(
|
||||||
|
"hass_enforce_sorted_platforms",
|
||||||
|
"pylint/plugins/hass_enforce_sorted_platforms.py",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(name="enforce_sorted_platforms_checker")
|
||||||
|
def enforce_sorted_platforms_checker_fixture(
|
||||||
|
hass_enforce_sorted_platforms, linter
|
||||||
|
) -> BaseChecker:
|
||||||
|
"""Fixture to provide a hass_enforce_sorted_platforms checker."""
|
||||||
|
enforce_sorted_platforms_checker = (
|
||||||
|
hass_enforce_sorted_platforms.HassEnforceSortedPlatformsChecker(linter)
|
||||||
|
)
|
||||||
|
enforce_sorted_platforms_checker.module = "homeassistant.components.pylint_test"
|
||||||
|
return enforce_sorted_platforms_checker
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
"""Tests for pylint hass_enforce_sorted_platforms plugin."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import astroid
|
||||||
|
from pylint.checkers import BaseChecker
|
||||||
|
from pylint.interfaces import UNDEFINED
|
||||||
|
from pylint.testutils import MessageTest
|
||||||
|
from pylint.testutils.unittest_linter import UnittestLinter
|
||||||
|
from pylint.utils.ast_walker import ASTWalker
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from . import assert_adds_messages, assert_no_messages
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"code",
|
||||||
|
[
|
||||||
|
pytest.param(
|
||||||
|
"""
|
||||||
|
PLATFORMS = [Platform.SENSOR]
|
||||||
|
""",
|
||||||
|
id="one_platform",
|
||||||
|
),
|
||||||
|
pytest.param(
|
||||||
|
"""
|
||||||
|
PLATFORMS = [Platform.BINARY_SENSOR, Platform.BUTTON, Platform.SENSOR]
|
||||||
|
""",
|
||||||
|
id="multiple_platforms",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_enforce_sorted_platforms(
|
||||||
|
linter: UnittestLinter,
|
||||||
|
enforce_sorted_platforms_checker: BaseChecker,
|
||||||
|
code: str,
|
||||||
|
) -> None:
|
||||||
|
"""Good test cases."""
|
||||||
|
root_node = astroid.parse(code, "homeassistant.components.pylint_test")
|
||||||
|
walker = ASTWalker(linter)
|
||||||
|
walker.add_checker(enforce_sorted_platforms_checker)
|
||||||
|
|
||||||
|
with assert_no_messages(linter):
|
||||||
|
walker.walk(root_node)
|
||||||
|
|
||||||
|
|
||||||
|
def test_enforce_sorted_platforms_bad(
|
||||||
|
linter: UnittestLinter,
|
||||||
|
enforce_sorted_platforms_checker: BaseChecker,
|
||||||
|
) -> None:
|
||||||
|
"""Bad test case."""
|
||||||
|
assign_node = astroid.extract_node(
|
||||||
|
"""
|
||||||
|
PLATFORMS = [Platform.SENSOR, Platform.BINARY_SENSOR, Platform.BUTTON]
|
||||||
|
""",
|
||||||
|
"homeassistant.components.pylint_test",
|
||||||
|
)
|
||||||
|
|
||||||
|
with assert_adds_messages(
|
||||||
|
linter,
|
||||||
|
MessageTest(
|
||||||
|
msg_id="hass-enforce-sorted-platforms",
|
||||||
|
line=2,
|
||||||
|
node=assign_node,
|
||||||
|
args=None,
|
||||||
|
confidence=UNDEFINED,
|
||||||
|
col_offset=0,
|
||||||
|
end_line=2,
|
||||||
|
end_col_offset=70,
|
||||||
|
),
|
||||||
|
):
|
||||||
|
enforce_sorted_platforms_checker.visit_assign(assign_node)
|
Loading…
Reference in New Issue