From 33e926371fb299b929b8d80e98ca9f249d44f705 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Sun, 2 Jan 2022 16:28:14 +0100 Subject: [PATCH] Add init type hints [m] (#63189) Co-authored-by: epenet --- homeassistant/components/mailgun/__init__.py | 9 ++++++--- homeassistant/components/map/__init__.py | 5 ++++- homeassistant/components/matrix/__init__.py | 5 +++-- homeassistant/components/maxcube/__init__.py | 4 +++- homeassistant/components/media_extractor/__init__.py | 5 +++-- homeassistant/components/melcloud/__init__.py | 2 +- homeassistant/components/melissa/__init__.py | 4 +++- homeassistant/components/met_eireann/__init__.py | 6 ++++-- homeassistant/components/mikrotik/__init__.py | 10 ++++++---- homeassistant/components/mill/__init__.py | 5 +++-- homeassistant/components/minio/__init__.py | 5 +++-- homeassistant/components/mobile_app/__init__.py | 7 ++++--- homeassistant/components/mqtt/__init__.py | 3 ++- homeassistant/components/mqtt_eventstream/__init__.py | 5 +++-- homeassistant/components/mullvad/__init__.py | 2 +- homeassistant/components/my/__init__.py | 4 +++- homeassistant/components/mycroft/__init__.py | 4 +++- homeassistant/components/mythicbeastsdns/__init__.py | 4 +++- 18 files changed, 58 insertions(+), 31 deletions(-) diff --git a/homeassistant/components/mailgun/__init__.py b/homeassistant/components/mailgun/__init__.py index 39ee6e46350..1336c23805f 100644 --- a/homeassistant/components/mailgun/__init__.py +++ b/homeassistant/components/mailgun/__init__.py @@ -6,9 +6,12 @@ import logging import voluptuous as vol +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_API_KEY, CONF_DOMAIN, CONF_WEBHOOK_ID +from homeassistant.core import HomeAssistant from homeassistant.helpers import config_entry_flow import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.typing import ConfigType from .const import DOMAIN @@ -34,7 +37,7 @@ CONFIG_SCHEMA = vol.Schema( ) -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the Mailgun component.""" if DOMAIN not in config: return True @@ -84,7 +87,7 @@ async def verify_webhook(hass, token=None, timestamp=None, signature=None): return hmac.compare_digest(signature, hmac_digest) -async def async_setup_entry(hass, entry): +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Configure based on config entry.""" hass.components.webhook.async_register( DOMAIN, "Mailgun", entry.data[CONF_WEBHOOK_ID], handle_webhook @@ -92,7 +95,7 @@ async def async_setup_entry(hass, entry): return True -async def async_unload_entry(hass, entry): +async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload a config entry.""" hass.components.webhook.async_unregister(entry.data[CONF_WEBHOOK_ID]) return True diff --git a/homeassistant/components/map/__init__.py b/homeassistant/components/map/__init__.py index 0a34c2323d3..0d8d0a2050a 100644 --- a/homeassistant/components/map/__init__.py +++ b/homeassistant/components/map/__init__.py @@ -1,8 +1,11 @@ """Support for showing device locations.""" +from homeassistant.core import HomeAssistant +from homeassistant.helpers.typing import ConfigType + DOMAIN = "map" -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Register the built-in map panel.""" hass.components.frontend.async_register_built_in_panel( "map", "map", "hass:tooltip-account" diff --git a/homeassistant/components/matrix/__init__.py b/homeassistant/components/matrix/__init__.py index bf183ec8807..76e2630b26e 100644 --- a/homeassistant/components/matrix/__init__.py +++ b/homeassistant/components/matrix/__init__.py @@ -16,9 +16,10 @@ from homeassistant.const import ( EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP, ) -from homeassistant.core import ServiceCall +from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.exceptions import HomeAssistantError import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.typing import ConfigType from homeassistant.util.json import load_json, save_json from .const import DOMAIN, SERVICE_SEND_MESSAGE @@ -81,7 +82,7 @@ SERVICE_SCHEMA_SEND_MESSAGE = vol.Schema( ) -def setup(hass, config): +def setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the Matrix bot component.""" config = config[DOMAIN] diff --git a/homeassistant/components/maxcube/__init__.py b/homeassistant/components/maxcube/__init__.py index 4d610dfc04f..e6acda0f5bf 100644 --- a/homeassistant/components/maxcube/__init__.py +++ b/homeassistant/components/maxcube/__init__.py @@ -8,8 +8,10 @@ from maxcube.cube import MaxCube import voluptuous as vol from homeassistant.const import CONF_HOST, CONF_PORT, CONF_SCAN_INTERVAL +from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv from homeassistant.helpers.discovery import load_platform +from homeassistant.helpers.typing import ConfigType from homeassistant.util.dt import now _LOGGER = logging.getLogger(__name__) @@ -46,7 +48,7 @@ CONFIG_SCHEMA = vol.Schema( ) -def setup(hass, config): +def setup(hass: HomeAssistant, config: ConfigType) -> bool: """Establish connection to MAX! Cube.""" if DATA_KEY not in hass.data: diff --git a/homeassistant/components/media_extractor/__init__.py b/homeassistant/components/media_extractor/__init__.py index 0ddf554f401..c6f9c666649 100644 --- a/homeassistant/components/media_extractor/__init__.py +++ b/homeassistant/components/media_extractor/__init__.py @@ -13,8 +13,9 @@ from homeassistant.components.media_player.const import ( SERVICE_PLAY_MEDIA, ) from homeassistant.const import ATTR_ENTITY_ID -from homeassistant.core import ServiceCall +from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.helpers import config_validation as cv +from homeassistant.helpers.typing import ConfigType _LOGGER = logging.getLogger(__name__) @@ -39,7 +40,7 @@ CONFIG_SCHEMA = vol.Schema( ) -def setup(hass, config): +def setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the media extractor service.""" def play_media(call: ServiceCall) -> None: diff --git a/homeassistant/components/melcloud/__init__.py b/homeassistant/components/melcloud/__init__.py index 417fa1641f9..1108848a006 100644 --- a/homeassistant/components/melcloud/__init__.py +++ b/homeassistant/components/melcloud/__init__.py @@ -72,7 +72,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: return True -async def async_unload_entry(hass, config_entry): +async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: """Unload a config entry.""" unload_ok = await hass.config_entries.async_unload_platforms( config_entry, PLATFORMS diff --git a/homeassistant/components/melissa/__init__.py b/homeassistant/components/melissa/__init__.py index dfbe2f27fcb..e2ec20f8fc9 100644 --- a/homeassistant/components/melissa/__init__.py +++ b/homeassistant/components/melissa/__init__.py @@ -3,8 +3,10 @@ import melissa import voluptuous as vol from homeassistant.const import CONF_PASSWORD, CONF_USERNAME +from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv from homeassistant.helpers.discovery import async_load_platform +from homeassistant.helpers.typing import ConfigType DOMAIN = "melissa" DATA_MELISSA = "MELISSA" @@ -23,7 +25,7 @@ CONFIG_SCHEMA = vol.Schema( ) -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the Melissa Climate component.""" conf = config[DOMAIN] username = conf.get(CONF_USERNAME) diff --git a/homeassistant/components/met_eireann/__init__.py b/homeassistant/components/met_eireann/__init__.py index 68ecaa9f05a..399e72d4924 100644 --- a/homeassistant/components/met_eireann/__init__.py +++ b/homeassistant/components/met_eireann/__init__.py @@ -4,7 +4,9 @@ import logging import meteireann +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_ELEVATION, CONF_LATITUDE, CONF_LONGITUDE, Platform +from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed import homeassistant.util.dt as dt_util @@ -18,7 +20,7 @@ UPDATE_INTERVAL = timedelta(minutes=60) PLATFORMS = [Platform.WEATHER] -async def async_setup_entry(hass, config_entry): +async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: """Set up Met Éireann as config entry.""" hass.data.setdefault(DOMAIN, {}) @@ -54,7 +56,7 @@ async def async_setup_entry(hass, config_entry): return True -async def async_unload_entry(hass, config_entry): +async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: """Unload a config entry.""" unload_ok = await hass.config_entries.async_unload_platforms( config_entry, PLATFORMS diff --git a/homeassistant/components/mikrotik/__init__.py b/homeassistant/components/mikrotik/__init__.py index b3813dc6a6e..f0dc249d26a 100644 --- a/homeassistant/components/mikrotik/__init__.py +++ b/homeassistant/components/mikrotik/__init__.py @@ -1,7 +1,7 @@ """The Mikrotik component.""" import voluptuous as vol -from homeassistant.config_entries import SOURCE_IMPORT +from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry from homeassistant.const import ( CONF_HOST, CONF_NAME, @@ -10,7 +10,9 @@ from homeassistant.const import ( CONF_USERNAME, CONF_VERIFY_SSL, ) +from homeassistant.core import HomeAssistant from homeassistant.helpers import config_validation as cv +from homeassistant.helpers.typing import ConfigType from .const import ( ATTR_MANUFACTURER, @@ -52,7 +54,7 @@ CONFIG_SCHEMA = vol.Schema( ) -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Import the Mikrotik component from config.""" if DOMAIN in config: @@ -66,7 +68,7 @@ async def async_setup(hass, config): return True -async def async_setup_entry(hass, config_entry): +async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: """Set up the Mikrotik component.""" hub = MikrotikHub(hass, config_entry) @@ -87,7 +89,7 @@ async def async_setup_entry(hass, config_entry): return True -async def async_unload_entry(hass, config_entry): +async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: """Unload a config entry.""" unload_ok = await hass.config_entries.async_unload_platforms( config_entry, PLATFORMS diff --git a/homeassistant/components/mill/__init__.py b/homeassistant/components/mill/__init__.py index 299adb949e3..6131ebc7fd4 100644 --- a/homeassistant/components/mill/__init__.py +++ b/homeassistant/components/mill/__init__.py @@ -7,6 +7,7 @@ import logging from mill import Mill from mill_local import Mill as MillLocal +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_IP_ADDRESS, CONF_PASSWORD, CONF_USERNAME, Platform from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryNotReady @@ -42,7 +43,7 @@ class MillDataUpdateCoordinator(DataUpdateCoordinator): ) -async def async_setup_entry(hass, entry): +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up the Mill heater.""" hass.data.setdefault(DOMAIN, {LOCAL: {}, CLOUD: {}}) @@ -79,6 +80,6 @@ async def async_setup_entry(hass, entry): return True -async def async_unload_entry(hass, entry): +async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload a config entry.""" return await hass.config_entries.async_unload_platforms(entry, PLATFORMS) diff --git a/homeassistant/components/minio/__init__.py b/homeassistant/components/minio/__init__.py index 62ebaa220a5..89c5687075f 100644 --- a/homeassistant/components/minio/__init__.py +++ b/homeassistant/components/minio/__init__.py @@ -9,8 +9,9 @@ import threading import voluptuous as vol from homeassistant.const import EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP -from homeassistant.core import ServiceCall +from homeassistant.core import HomeAssistant, ServiceCall import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.typing import ConfigType from .minio_helper import MinioEventThread, create_minio_client @@ -79,7 +80,7 @@ BUCKET_KEY_FILE_SCHEMA = BUCKET_KEY_SCHEMA.extend( ) -def setup(hass, config): +def setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up MinioClient and event listeners.""" conf = config[DOMAIN] diff --git a/homeassistant/components/mobile_app/__init__.py b/homeassistant/components/mobile_app/__init__.py index 097c4feb383..15e9362d836 100644 --- a/homeassistant/components/mobile_app/__init__.py +++ b/homeassistant/components/mobile_app/__init__.py @@ -6,6 +6,7 @@ from homeassistant.components.webhook import ( async_register as webhook_register, async_unregister as webhook_unregister, ) +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ATTR_DEVICE_ID, CONF_WEBHOOK_ID, Platform from homeassistant.core import HomeAssistant from homeassistant.helpers import device_registry as dr, discovery @@ -68,7 +69,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: return True -async def async_setup_entry(hass, entry): +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up a mobile_app entry.""" registration = entry.data @@ -99,7 +100,7 @@ async def async_setup_entry(hass, entry): return True -async def async_unload_entry(hass, entry): +async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload a mobile app entry.""" unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) if not unload_ok: @@ -115,7 +116,7 @@ async def async_unload_entry(hass, entry): return True -async def async_remove_entry(hass, entry): +async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: """Cleanup when entry is removed.""" hass.data[DOMAIN][DATA_DELETED_IDS].append(entry.data[CONF_WEBHOOK_ID]) store = hass.data[DOMAIN][DATA_STORE] diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index 84bce798e6d..ae7dacda297 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -21,6 +21,7 @@ import voluptuous as vol from homeassistant import config_entries from homeassistant.components import websocket_api +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( CONF_CLIENT_ID, CONF_DISCOVERY, @@ -502,7 +503,7 @@ def _merge_config(entry, conf): return {**conf, **entry.data} -async def async_setup_entry(hass, entry): +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Load a config entry.""" conf = hass.data.get(DATA_MQTT_CONFIG) diff --git a/homeassistant/components/mqtt_eventstream/__init__.py b/homeassistant/components/mqtt_eventstream/__init__.py index 6e6596b3425..3ffccb1bd56 100644 --- a/homeassistant/components/mqtt_eventstream/__init__.py +++ b/homeassistant/components/mqtt_eventstream/__init__.py @@ -17,9 +17,10 @@ from homeassistant.const import ( EVENT_TIME_CHANGED, MATCH_ALL, ) -from homeassistant.core import EventOrigin, State, callback +from homeassistant.core import EventOrigin, HomeAssistant, State, callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.json import JSONEncoder +from homeassistant.helpers.typing import ConfigType DOMAIN = "mqtt_eventstream" CONF_PUBLISH_TOPIC = "publish_topic" @@ -52,7 +53,7 @@ BLOCKED_EVENTS = [ ] -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the MQTT eventstream component.""" conf = config.get(DOMAIN, {}) pub_topic = conf.get(CONF_PUBLISH_TOPIC) diff --git a/homeassistant/components/mullvad/__init__.py b/homeassistant/components/mullvad/__init__.py index 386108fb0ff..5d558ee0ade 100644 --- a/homeassistant/components/mullvad/__init__.py +++ b/homeassistant/components/mullvad/__init__.py @@ -15,7 +15,7 @@ from .const import DOMAIN PLATFORMS = [Platform.BINARY_SENSOR] -async def async_setup_entry(hass: HomeAssistant, entry: dict) -> bool: +async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up Mullvad VPN integration.""" async def async_get_mullvad_api_data(): diff --git a/homeassistant/components/my/__init__.py b/homeassistant/components/my/__init__.py index 8cc725cb9a5..4616571a213 100644 --- a/homeassistant/components/my/__init__.py +++ b/homeassistant/components/my/__init__.py @@ -1,10 +1,12 @@ """Support for my.home-assistant.io redirect service.""" +from homeassistant.core import HomeAssistant +from homeassistant.helpers.typing import ConfigType DOMAIN = "my" URL_PATH = "_my_redirect" -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Register hidden _my_redirect panel.""" hass.components.frontend.async_register_built_in_panel( DOMAIN, frontend_url_path=URL_PATH diff --git a/homeassistant/components/mycroft/__init__.py b/homeassistant/components/mycroft/__init__.py index 86983092ad0..0bcb5e93c5c 100644 --- a/homeassistant/components/mycroft/__init__.py +++ b/homeassistant/components/mycroft/__init__.py @@ -2,8 +2,10 @@ import voluptuous as vol from homeassistant.const import CONF_HOST +from homeassistant.core import HomeAssistant from homeassistant.helpers import discovery import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.typing import ConfigType DOMAIN = "mycroft" @@ -12,7 +14,7 @@ CONFIG_SCHEMA = vol.Schema( ) -def setup(hass, config): +def setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the Mycroft component.""" hass.data[DOMAIN] = config[DOMAIN][CONF_HOST] discovery.load_platform(hass, "notify", DOMAIN, {}, config) diff --git a/homeassistant/components/mythicbeastsdns/__init__.py b/homeassistant/components/mythicbeastsdns/__init__.py index 3ab173ea43a..2319bc8f812 100644 --- a/homeassistant/components/mythicbeastsdns/__init__.py +++ b/homeassistant/components/mythicbeastsdns/__init__.py @@ -10,9 +10,11 @@ from homeassistant.const import ( CONF_PASSWORD, CONF_SCAN_INTERVAL, ) +from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import async_track_time_interval +from homeassistant.helpers.typing import ConfigType DOMAIN = "mythicbeastsdns" @@ -35,7 +37,7 @@ CONFIG_SCHEMA = vol.Schema( ) -async def async_setup(hass, config): +async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Initialize the Mythic Beasts component.""" domain = config[DOMAIN][CONF_DOMAIN] password = config[DOMAIN][CONF_PASSWORD]