mirror of
https://github.com/elisspace/core.git
synced 2026-09-01 08:53:56 +00:00
Move imports in buienradar component (#27873)
This commit is contained in:
@@ -5,6 +5,34 @@ import logging
|
||||
|
||||
import aiohttp
|
||||
import async_timeout
|
||||
from buienradar.buienradar import parse_data
|
||||
from buienradar.constants import (
|
||||
ATTRIBUTION,
|
||||
CONDCODE,
|
||||
CONDITION,
|
||||
CONTENT,
|
||||
DATA,
|
||||
DETAILED,
|
||||
EXACT,
|
||||
EXACTNL,
|
||||
FORECAST,
|
||||
HUMIDITY,
|
||||
IMAGE,
|
||||
MEASURED,
|
||||
MESSAGE,
|
||||
PRECIPITATION_FORECAST,
|
||||
PRESSURE,
|
||||
STATIONNAME,
|
||||
STATUS_CODE,
|
||||
SUCCESS,
|
||||
TEMPERATURE,
|
||||
TIMEFRAME,
|
||||
VISIBILITY,
|
||||
WINDAZIMUTH,
|
||||
WINDGUST,
|
||||
WINDSPEED,
|
||||
)
|
||||
from buienradar.urls import JSON_FEED_URL, json_precipitation_forecast_url
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||
@@ -22,6 +50,8 @@ from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.helpers.event import async_track_point_in_utc_time
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
from .weather import DEFAULT_TIMEFRAME
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
MEASURED_LABEL = "Measured"
|
||||
@@ -183,7 +213,6 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||
|
||||
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
|
||||
"""Create the buienradar sensor."""
|
||||
from .weather import DEFAULT_TIMEFRAME
|
||||
|
||||
latitude = config.get(CONF_LATITUDE, hass.config.latitude)
|
||||
longitude = config.get(CONF_LONGITUDE, hass.config.longitude)
|
||||
@@ -216,7 +245,6 @@ class BrSensor(Entity):
|
||||
|
||||
def __init__(self, sensor_type, client_name, coordinates):
|
||||
"""Initialize the sensor."""
|
||||
from buienradar.constants import PRECIPITATION_FORECAST, CONDITION
|
||||
|
||||
self.client_name = client_name
|
||||
self._name = SENSOR_TYPES[sensor_type][0]
|
||||
@@ -247,23 +275,6 @@ class BrSensor(Entity):
|
||||
def load_data(self, data):
|
||||
"""Load the sensor with relevant data."""
|
||||
# Find sensor
|
||||
from buienradar.constants import (
|
||||
ATTRIBUTION,
|
||||
CONDITION,
|
||||
CONDCODE,
|
||||
DETAILED,
|
||||
EXACT,
|
||||
EXACTNL,
|
||||
FORECAST,
|
||||
IMAGE,
|
||||
MEASURED,
|
||||
PRECIPITATION_FORECAST,
|
||||
STATIONNAME,
|
||||
TIMEFRAME,
|
||||
VISIBILITY,
|
||||
WINDGUST,
|
||||
WINDSPEED,
|
||||
)
|
||||
|
||||
# Check if we have a new measurement,
|
||||
# otherwise we do not have to update the sensor
|
||||
@@ -421,7 +432,6 @@ class BrSensor(Entity):
|
||||
@property
|
||||
def device_state_attributes(self):
|
||||
"""Return the state attributes."""
|
||||
from buienradar.constants import PRECIPITATION_FORECAST
|
||||
|
||||
if self.type.startswith(PRECIPITATION_FORECAST):
|
||||
result = {ATTR_ATTRIBUTION: self._attribution}
|
||||
@@ -488,7 +498,6 @@ class BrData:
|
||||
|
||||
async def get_data(self, url):
|
||||
"""Load data from specified url."""
|
||||
from buienradar.constants import CONTENT, MESSAGE, STATUS_CODE, SUCCESS
|
||||
|
||||
_LOGGER.debug("Calling url: %s...", url)
|
||||
result = {SUCCESS: False, MESSAGE: None}
|
||||
@@ -515,9 +524,6 @@ class BrData:
|
||||
|
||||
async def async_update(self, *_):
|
||||
"""Update the data from buienradar."""
|
||||
from buienradar.constants import CONTENT, DATA, MESSAGE, STATUS_CODE, SUCCESS
|
||||
from buienradar.buienradar import parse_data
|
||||
from buienradar.urls import JSON_FEED_URL, json_precipitation_forecast_url
|
||||
|
||||
content = await self.get_data(JSON_FEED_URL)
|
||||
|
||||
@@ -576,28 +582,24 @@ class BrData:
|
||||
@property
|
||||
def attribution(self):
|
||||
"""Return the attribution."""
|
||||
from buienradar.constants import ATTRIBUTION
|
||||
|
||||
return self.data.get(ATTRIBUTION)
|
||||
|
||||
@property
|
||||
def stationname(self):
|
||||
"""Return the name of the selected weatherstation."""
|
||||
from buienradar.constants import STATIONNAME
|
||||
|
||||
return self.data.get(STATIONNAME)
|
||||
|
||||
@property
|
||||
def condition(self):
|
||||
"""Return the condition."""
|
||||
from buienradar.constants import CONDITION
|
||||
|
||||
return self.data.get(CONDITION)
|
||||
|
||||
@property
|
||||
def temperature(self):
|
||||
"""Return the temperature, or None."""
|
||||
from buienradar.constants import TEMPERATURE
|
||||
|
||||
try:
|
||||
return float(self.data.get(TEMPERATURE))
|
||||
@@ -607,7 +609,6 @@ class BrData:
|
||||
@property
|
||||
def pressure(self):
|
||||
"""Return the pressure, or None."""
|
||||
from buienradar.constants import PRESSURE
|
||||
|
||||
try:
|
||||
return float(self.data.get(PRESSURE))
|
||||
@@ -617,7 +618,6 @@ class BrData:
|
||||
@property
|
||||
def humidity(self):
|
||||
"""Return the humidity, or None."""
|
||||
from buienradar.constants import HUMIDITY
|
||||
|
||||
try:
|
||||
return int(self.data.get(HUMIDITY))
|
||||
@@ -627,7 +627,6 @@ class BrData:
|
||||
@property
|
||||
def visibility(self):
|
||||
"""Return the visibility, or None."""
|
||||
from buienradar.constants import VISIBILITY
|
||||
|
||||
try:
|
||||
return int(self.data.get(VISIBILITY))
|
||||
@@ -637,7 +636,6 @@ class BrData:
|
||||
@property
|
||||
def wind_speed(self):
|
||||
"""Return the windspeed, or None."""
|
||||
from buienradar.constants import WINDSPEED
|
||||
|
||||
try:
|
||||
return float(self.data.get(WINDSPEED))
|
||||
@@ -647,7 +645,6 @@ class BrData:
|
||||
@property
|
||||
def wind_bearing(self):
|
||||
"""Return the wind bearing, or None."""
|
||||
from buienradar.constants import WINDAZIMUTH
|
||||
|
||||
try:
|
||||
return int(self.data.get(WINDAZIMUTH))
|
||||
@@ -657,6 +654,5 @@ class BrData:
|
||||
@property
|
||||
def forecast(self):
|
||||
"""Return the forecast data."""
|
||||
from buienradar.constants import FORECAST
|
||||
|
||||
return self.data.get(FORECAST)
|
||||
|
||||
@@ -1,18 +1,28 @@
|
||||
"""Support for Buienradar.nl weather service."""
|
||||
import logging
|
||||
|
||||
from buienradar.constants import (
|
||||
CONDCODE,
|
||||
CONDITION,
|
||||
DATETIME,
|
||||
MAX_TEMP,
|
||||
MIN_TEMP,
|
||||
RAIN,
|
||||
WINDAZIMUTH,
|
||||
WINDSPEED,
|
||||
)
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.weather import (
|
||||
ATTR_FORECAST_CONDITION,
|
||||
ATTR_FORECAST_PRECIPITATION,
|
||||
ATTR_FORECAST_TEMP,
|
||||
ATTR_FORECAST_TEMP_LOW,
|
||||
ATTR_FORECAST_TIME,
|
||||
PLATFORM_SCHEMA,
|
||||
WeatherEntity,
|
||||
ATTR_FORECAST_PRECIPITATION,
|
||||
ATTR_FORECAST_WIND_BEARING,
|
||||
ATTR_FORECAST_WIND_SPEED,
|
||||
PLATFORM_SCHEMA,
|
||||
WeatherEntity,
|
||||
)
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME, TEMP_CELSIUS
|
||||
from homeassistant.helpers import config_validation as cv
|
||||
@@ -110,7 +120,6 @@ class BrWeather(WeatherEntity):
|
||||
@property
|
||||
def condition(self):
|
||||
"""Return the current condition."""
|
||||
from buienradar.constants import CONDCODE
|
||||
|
||||
if self._data and self._data.condition:
|
||||
ccode = self._data.condition.get(CONDCODE)
|
||||
@@ -161,16 +170,6 @@ class BrWeather(WeatherEntity):
|
||||
@property
|
||||
def forecast(self):
|
||||
"""Return the forecast array."""
|
||||
from buienradar.constants import (
|
||||
CONDITION,
|
||||
CONDCODE,
|
||||
RAIN,
|
||||
DATETIME,
|
||||
MIN_TEMP,
|
||||
MAX_TEMP,
|
||||
WINDAZIMUTH,
|
||||
WINDSPEED,
|
||||
)
|
||||
|
||||
if not self._forecast:
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user