Add image_processing setup type hints (#63290)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2022-01-03 15:14:57 +01:00 committed by GitHub
parent 061ce0c187
commit ca366e6f87
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 143 additions and 26 deletions

View file

@ -1,4 +1,6 @@
"""Component that will help set the Dlib face detect processing."""
from __future__ import annotations
import io
import face_recognition # pylint: disable=import-error
@ -10,7 +12,9 @@ from homeassistant.components.image_processing import (
ImageProcessingFaceEntity,
)
from homeassistant.const import ATTR_LOCATION
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
# pylint: disable=unused-import
from homeassistant.components.image_processing import ( # noqa: F401, isort:skip
@ -18,7 +22,12 @@ from homeassistant.components.image_processing import ( # noqa: F401, isort:ski
)
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Dlib Face detection platform."""
entities = []
for camera in config[CONF_SOURCE]:

View file

@ -1,4 +1,6 @@
"""Component that will help set the Dlib face detect processing."""
from __future__ import annotations
import io
import logging
@ -15,8 +17,10 @@ from homeassistant.components.image_processing import (
ImageProcessingFaceEntity,
)
from homeassistant.const import ATTR_NAME
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
@ -30,7 +34,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Dlib Face detection platform."""
entities = []
for camera in config[CONF_SOURCE]:

View file

@ -1,4 +1,6 @@
"""Support for the DOODS service."""
from __future__ import annotations
import io
import logging
import os
@ -17,9 +19,11 @@ from homeassistant.components.image_processing import (
ImageProcessingEntity,
)
from homeassistant.const import CONF_COVERS, CONF_TIMEOUT, CONF_URL
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers import template
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.util.pil import draw_box
_LOGGER = logging.getLogger(__name__)
@ -73,7 +77,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Doods client."""
url = config[CONF_URL]
auth_key = config[CONF_AUTH_KEY]

View file

@ -1,4 +1,6 @@
"""Component for facial detection and identification via facebox."""
from __future__ import annotations
import base64
from http import HTTPStatus
import logging
@ -23,8 +25,10 @@ from homeassistant.const import (
CONF_PORT,
CONF_USERNAME,
)
from homeassistant.core import ServiceCall, split_entity_id
from homeassistant.core import HomeAssistant, ServiceCall, split_entity_id
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from .const import DOMAIN, SERVICE_TEACH_FACE
@ -158,7 +162,12 @@ def valid_file_path(file_path):
return False
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the classifier."""
if DATA_FACEBOX not in hass.data:
hass.data[DATA_FACEBOX] = []

View file

@ -1,4 +1,6 @@
"""Component that will help set the Microsoft face detect processing."""
from __future__ import annotations
import logging
import voluptuous as vol
@ -14,9 +16,11 @@ from homeassistant.components.image_processing import (
ImageProcessingFaceEntity,
)
from homeassistant.components.microsoft_face import DATA_MICROSOFT_FACE
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
@ -43,7 +47,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(
hass: HomeAssistant,
config: ConfigType,
async_add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Microsoft Face detection platform."""
api = hass.data[DATA_MICROSOFT_FACE]
attributes = config[CONF_ATTRIBUTES]

View file

@ -1,4 +1,6 @@
"""Component that will help set the Microsoft face for verify processing."""
from __future__ import annotations
import logging
import voluptuous as vol
@ -14,9 +16,11 @@ from homeassistant.components.image_processing import (
)
from homeassistant.components.microsoft_face import DATA_MICROSOFT_FACE
from homeassistant.const import ATTR_NAME
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
@ -25,7 +29,12 @@ CONF_GROUP = "group"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({vol.Required(CONF_GROUP): cv.slugify})
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(
hass: HomeAssistant,
config: ConfigType,
async_add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Microsoft Face identify platform."""
api = hass.data[DATA_MICROSOFT_FACE]
face_group = config[CONF_GROUP]

View file

@ -1,4 +1,6 @@
"""Component that will help set the OpenALPR cloud for ALPR processing."""
from __future__ import annotations
import asyncio
from base64 import b64encode
from http import HTTPStatus
@ -19,9 +21,11 @@ from homeassistant.components.openalpr_local.image_processing import (
ImageProcessingAlprEntity,
)
from homeassistant.const import CONF_API_KEY, CONF_REGION
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
@ -50,7 +54,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(
hass: HomeAssistant,
config: ConfigType,
async_add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the OpenALPR cloud API platform."""
confidence = config[CONF_CONFIDENCE]
params = {

View file

@ -1,4 +1,6 @@
"""Component that will help set the OpenALPR local for ALPR processing."""
from __future__ import annotations
import asyncio
import io
import re
@ -16,8 +18,10 @@ from homeassistant.components.image_processing import (
ImageProcessingEntity,
)
from homeassistant.const import CONF_REGION
from homeassistant.core import callback, split_entity_id
from homeassistant.core import HomeAssistant, callback, split_entity_id
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.util.async_ import run_callback_threadsafe
RE_ALPR_PLATE = re.compile(r"^plate\d*:")
@ -56,7 +60,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(
hass: HomeAssistant,
config: ConfigType,
async_add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the OpenALPR local platform."""
command = [config[CONF_ALPR_BIN], "-c", config[CONF_REGION], "-"]
confidence = config[CONF_CONFIDENCE]

View file

@ -1,4 +1,6 @@
"""Support for OpenCV classification on images."""
from __future__ import annotations
from datetime import timedelta
import logging
@ -13,8 +15,10 @@ from homeassistant.components.image_processing import (
PLATFORM_SCHEMA,
ImageProcessingEntity,
)
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
try:
# Verify that the OpenCV python package is pre-installed
@ -92,7 +96,12 @@ def _get_default_classifier(dest_path):
fil.write(chunk)
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the OpenCV image processing platform."""
if not CV2_IMPORTED:
_LOGGER.error(

View file

@ -1,4 +1,6 @@
"""Support for the QR code image processing."""
from __future__ import annotations
import io
from PIL import Image
@ -10,10 +12,17 @@ from homeassistant.components.image_processing import (
CONF_SOURCE,
ImageProcessingEntity,
)
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the QR code image processing platform."""
# pylint: disable=unused-argument
entities = []

View file

@ -1,4 +1,6 @@
"""Optical character recognition processing of seven segments displays."""
from __future__ import annotations
import io
import logging
import os
@ -14,8 +16,10 @@ from homeassistant.components.image_processing import (
PLATFORM_SCHEMA,
ImageProcessingEntity,
)
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
_LOGGER = logging.getLogger(__name__)
@ -46,7 +50,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
async def async_setup_platform(
hass: HomeAssistant,
config: ConfigType,
async_add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Seven segments OCR platform."""
entities = []
for camera in config[CONF_SOURCE]:

View file

@ -1,4 +1,6 @@
"""Person detection using Sighthound cloud service."""
from __future__ import annotations
import io
import logging
from pathlib import Path
@ -15,8 +17,10 @@ from homeassistant.components.image_processing import (
ImageProcessingEntity,
)
from homeassistant.const import ATTR_ENTITY_ID, CONF_API_KEY
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
import homeassistant.util.dt as dt_util
from homeassistant.util.pil import draw_box
@ -43,7 +47,12 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
)
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the platform."""
# Validate credentials by processing image.
api_key = config[CONF_API_KEY]

View file

@ -1,4 +1,6 @@
"""Support for performing TensorFlow classification on images."""
from __future__ import annotations
import io
import logging
import os
@ -19,9 +21,11 @@ from homeassistant.components.image_processing import (
ImageProcessingEntity,
)
from homeassistant.const import EVENT_HOMEASSISTANT_START
from homeassistant.core import split_entity_id
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers import template
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from homeassistant.util.pil import draw_box
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
@ -96,7 +100,12 @@ def get_model_detection_function(model):
return detect_fn
def setup_platform(hass, config, add_entities, discovery_info=None):
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the TensorFlow image processing platform."""
model_config = config[CONF_MODEL]
model_dir = model_config.get(CONF_MODEL_DIR) or hass.config.path("tensorflow")