Move imports in onvif component (#27969)
This commit is contained in:
parent
6951d78874
commit
9db07b2a41
1 changed files with 17 additions and 25 deletions
|
@ -8,21 +8,29 @@ import asyncio
|
|||
import datetime as dt
|
||||
import logging
|
||||
import os
|
||||
import voluptuous as vol
|
||||
|
||||
from aiohttp.client_exceptions import ClientConnectionError, ServerDisconnectedError
|
||||
from haffmpeg.camera import CameraMjpeg
|
||||
from haffmpeg.tools import IMAGE_JPEG, ImageFrame
|
||||
import onvif
|
||||
from onvif import ONVIFCamera, exceptions
|
||||
import voluptuous as vol
|
||||
from zeep.exceptions import Fault
|
||||
|
||||
from homeassistant.components.camera import PLATFORM_SCHEMA, SUPPORT_STREAM, Camera
|
||||
from homeassistant.components.camera.const import DOMAIN
|
||||
from homeassistant.components.ffmpeg import CONF_EXTRA_ARGUMENTS, DATA_FFMPEG
|
||||
from homeassistant.const import (
|
||||
CONF_NAME,
|
||||
ATTR_ENTITY_ID,
|
||||
CONF_HOST,
|
||||
CONF_USERNAME,
|
||||
CONF_NAME,
|
||||
CONF_PASSWORD,
|
||||
CONF_PORT,
|
||||
ATTR_ENTITY_ID,
|
||||
CONF_USERNAME,
|
||||
)
|
||||
from homeassistant.components.camera import Camera, PLATFORM_SCHEMA, SUPPORT_STREAM
|
||||
from homeassistant.components.camera.const import DOMAIN
|
||||
from homeassistant.components.ffmpeg import DATA_FFMPEG, CONF_EXTRA_ARGUMENTS
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.exceptions import PlatformNotReady
|
||||
from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.service import async_extract_entity_ids
|
||||
import homeassistant.util.dt as dt_util
|
||||
|
||||
|
@ -122,9 +130,6 @@ class ONVIFHassCamera(Camera):
|
|||
|
||||
_LOGGER.debug("Importing dependencies")
|
||||
|
||||
import onvif
|
||||
from onvif import ONVIFCamera
|
||||
|
||||
_LOGGER.debug("Setting up the ONVIF camera component")
|
||||
|
||||
self._username = config.get(CONF_USERNAME)
|
||||
|
@ -156,10 +161,6 @@ class ONVIFHassCamera(Camera):
|
|||
Initializes the camera by obtaining the input uri and connecting to
|
||||
the camera. Also retrieves the ONVIF profiles.
|
||||
"""
|
||||
from aiohttp.client_exceptions import ClientConnectionError
|
||||
from homeassistant.exceptions import PlatformNotReady
|
||||
from zeep.exceptions import Fault
|
||||
|
||||
try:
|
||||
_LOGGER.debug("Updating service addresses")
|
||||
await self._camera.update_xaddrs()
|
||||
|
@ -169,7 +170,7 @@ class ONVIFHassCamera(Camera):
|
|||
self.setup_ptz()
|
||||
except ClientConnectionError as err:
|
||||
_LOGGER.warning(
|
||||
"Couldn't connect to camera '%s', but will " "retry later. Error: %s",
|
||||
"Couldn't connect to camera '%s', but will retry later. Error: %s",
|
||||
self._name,
|
||||
err,
|
||||
)
|
||||
|
@ -184,8 +185,6 @@ class ONVIFHassCamera(Camera):
|
|||
|
||||
async def async_check_date_and_time(self):
|
||||
"""Warns if camera and system date not synced."""
|
||||
from aiohttp.client_exceptions import ServerDisconnectedError
|
||||
|
||||
_LOGGER.debug("Setting up the ONVIF device management service")
|
||||
devicemgmt = self._camera.create_devicemgmt_service()
|
||||
|
||||
|
@ -228,8 +227,6 @@ class ONVIFHassCamera(Camera):
|
|||
|
||||
async def async_obtain_input_uri(self):
|
||||
"""Set the input uri for the camera."""
|
||||
from onvif import exceptions
|
||||
|
||||
_LOGGER.debug(
|
||||
"Connecting with ONVIF Camera: %s on port %s", self._host, self._port
|
||||
)
|
||||
|
@ -289,8 +286,6 @@ class ONVIFHassCamera(Camera):
|
|||
|
||||
async def async_perform_ptz(self, pan, tilt, zoom):
|
||||
"""Perform a PTZ action on the camera."""
|
||||
from onvif import exceptions
|
||||
|
||||
if self._ptz_service is None:
|
||||
_LOGGER.warning("PTZ actions are not supported on camera '%s'", self._name)
|
||||
return
|
||||
|
@ -332,7 +327,6 @@ class ONVIFHassCamera(Camera):
|
|||
|
||||
async def async_camera_image(self):
|
||||
"""Return a still image response from the camera."""
|
||||
from haffmpeg.tools import ImageFrame, IMAGE_JPEG
|
||||
|
||||
_LOGGER.debug("Retrieving image from camera '%s'", self._name)
|
||||
|
||||
|
@ -347,8 +341,6 @@ class ONVIFHassCamera(Camera):
|
|||
|
||||
async def handle_async_mjpeg_stream(self, request):
|
||||
"""Generate an HTTP MJPEG stream from the camera."""
|
||||
from haffmpeg.camera import CameraMjpeg
|
||||
|
||||
_LOGGER.debug("Handling mjpeg stream from camera '%s'", self._name)
|
||||
|
||||
ffmpeg_manager = self.hass.data[DATA_FFMPEG]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue