Move imports in miflora component (#28025)

* Move imports in miflora component

* Fix pylint
This commit is contained in:
Diefferson Koderer Môro 2019-10-22 05:37:48 +00:00 committed by Paulus Schoutsen
parent 1a48c347a4
commit 5d317dc096

View File

@ -1,20 +1,31 @@
"""Support for Xiaomi Mi Flora BLE plant sensor.""" """Support for Xiaomi Mi Flora BLE plant sensor."""
from datetime import timedelta from datetime import timedelta
import logging import logging
import btlewrap
from btlewrap import BluetoothBackendException
from miflora import miflora_poller
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.helpers.entity import Entity
import homeassistant.helpers.config_validation as cv
from homeassistant.const import ( from homeassistant.const import (
CONF_FORCE_UPDATE, CONF_FORCE_UPDATE,
CONF_MAC,
CONF_MONITORED_CONDITIONS, CONF_MONITORED_CONDITIONS,
CONF_NAME, CONF_NAME,
CONF_MAC,
CONF_SCAN_INTERVAL, CONF_SCAN_INTERVAL,
EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_START,
) )
from homeassistant.core import callback from homeassistant.core import callback
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity
try:
import bluepy.btle # noqa: F401 pylint: disable=unused-import
BACKEND = btlewrap.BluepyBackend
except ImportError:
BACKEND = btlewrap.GatttoolBackend
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -53,17 +64,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the MiFlora sensor.""" """Set up the MiFlora sensor."""
from miflora import miflora_poller backend = BACKEND
try:
import bluepy.btle # noqa: F401 pylint: disable=unused-import
from btlewrap import BluepyBackend
backend = BluepyBackend
except ImportError:
from btlewrap import GatttoolBackend
backend = GatttoolBackend
_LOGGER.debug("Miflora is using %s backend.", backend.__name__) _LOGGER.debug("Miflora is using %s backend.", backend.__name__)
cache = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL).total_seconds() cache = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL).total_seconds()
@ -152,8 +153,6 @@ class MiFloraSensor(Entity):
This uses a rolling median over 3 values to filter out outliers. This uses a rolling median over 3 values to filter out outliers.
""" """
from btlewrap import BluetoothBackendException
try: try:
_LOGGER.debug("Polling data for %s", self.name) _LOGGER.debug("Polling data for %s", self.name)
data = self.poller.parameter_value(self.parameter) data = self.poller.parameter_value(self.parameter)