From 262483f3f6d5fc843af42905ee8176876f658e27 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 15 Aug 2023 03:29:28 -0500 Subject: [PATCH] Replace async_timeout with asyncio.timeout A-B (#98415) --- homeassistant/components/accuweather/__init__.py | 2 +- homeassistant/components/accuweather/config_flow.py | 2 +- homeassistant/components/acmeda/config_flow.py | 4 ++-- homeassistant/components/ads/__init__.py | 4 ++-- .../components/aemet/weather_update_coordinator.py | 4 ++-- homeassistant/components/airly/__init__.py | 4 ++-- homeassistant/components/airly/config_flow.py | 4 ++-- homeassistant/components/airzone/coordinator.py | 4 ++-- homeassistant/components/airzone_cloud/coordinator.py | 4 ++-- homeassistant/components/alexa/auth.py | 4 ++-- homeassistant/components/alexa/state_report.py | 6 +++--- homeassistant/components/analytics/analytics.py | 4 ++-- homeassistant/components/androidtv_remote/__init__.py | 4 ++-- homeassistant/components/anova/coordinator.py | 4 ++-- homeassistant/components/api/__init__.py | 4 ++-- homeassistant/components/arcam_fmj/__init__.py | 4 ++-- homeassistant/components/assist_pipeline/websocket_api.py | 3 +-- homeassistant/components/atag/__init__.py | 4 ++-- homeassistant/components/awair/__init__.py | 3 +-- homeassistant/components/axis/device.py | 4 ++-- homeassistant/components/baf/__init__.py | 4 ++-- homeassistant/components/baf/config_flow.py | 4 ++-- homeassistant/components/bluesound/media_player.py | 7 +++---- homeassistant/components/bluetooth/api.py | 4 ++-- homeassistant/components/brother/__init__.py | 4 ++-- homeassistant/components/brunt/__init__.py | 4 ++-- homeassistant/components/buienradar/util.py | 4 ++-- 27 files changed, 52 insertions(+), 55 deletions(-) diff --git a/homeassistant/components/accuweather/__init__.py b/homeassistant/components/accuweather/__init__.py index cdc23fe7e47..e98b19e8e82 100644 --- a/homeassistant/components/accuweather/__init__.py +++ b/homeassistant/components/accuweather/__init__.py @@ -1,6 +1,7 @@ """The AccuWeather component.""" from __future__ import annotations +from asyncio import timeout from datetime import timedelta import logging from typing import Any @@ -8,7 +9,6 @@ from typing import Any from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError from aiohttp import ClientSession from aiohttp.client_exceptions import ClientConnectorError -from async_timeout import timeout from homeassistant.components.sensor import DOMAIN as SENSOR_PLATFORM from homeassistant.config_entries import ConfigEntry diff --git a/homeassistant/components/accuweather/config_flow.py b/homeassistant/components/accuweather/config_flow.py index 1480f6c1352..b1d113dad73 100644 --- a/homeassistant/components/accuweather/config_flow.py +++ b/homeassistant/components/accuweather/config_flow.py @@ -2,12 +2,12 @@ from __future__ import annotations import asyncio +from asyncio import timeout from typing import Any from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError from aiohttp import ClientError from aiohttp.client_exceptions import ClientConnectorError -from async_timeout import timeout import voluptuous as vol from homeassistant import config_entries diff --git a/homeassistant/components/acmeda/config_flow.py b/homeassistant/components/acmeda/config_flow.py index f1bd0613f1e..b0dd287f428 100644 --- a/homeassistant/components/acmeda/config_flow.py +++ b/homeassistant/components/acmeda/config_flow.py @@ -2,11 +2,11 @@ from __future__ import annotations import asyncio +from asyncio import timeout from contextlib import suppress from typing import Any import aiopulse -import async_timeout import voluptuous as vol from homeassistant import config_entries @@ -43,7 +43,7 @@ class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): hubs: list[aiopulse.Hub] = [] with suppress(asyncio.TimeoutError): - async with async_timeout.timeout(5): + async with timeout(5): async for hub in aiopulse.Hub.discover(): if hub.id not in already_configured: hubs.append(hub) diff --git a/homeassistant/components/ads/__init__.py b/homeassistant/components/ads/__init__.py index 5d1e9f2b656..1f80553031b 100644 --- a/homeassistant/components/ads/__init__.py +++ b/homeassistant/components/ads/__init__.py @@ -1,12 +1,12 @@ """Support for Automation Device Specification (ADS).""" import asyncio +from asyncio import timeout from collections import namedtuple import ctypes import logging import struct import threading -import async_timeout import pyads import voluptuous as vol @@ -301,7 +301,7 @@ class AdsEntity(Entity): self._ads_hub.add_device_notification, ads_var, plctype, update ) try: - async with async_timeout.timeout(10): + async with timeout(10): await self._event.wait() except asyncio.TimeoutError: _LOGGER.debug("Variable %s: Timeout during first update", ads_var) diff --git a/homeassistant/components/aemet/weather_update_coordinator.py b/homeassistant/components/aemet/weather_update_coordinator.py index 5242540748f..5e9ce6af677 100644 --- a/homeassistant/components/aemet/weather_update_coordinator.py +++ b/homeassistant/components/aemet/weather_update_coordinator.py @@ -1,6 +1,7 @@ """Weather data coordinator for the AEMET OpenData service.""" from __future__ import annotations +from asyncio import timeout from dataclasses import dataclass, field from datetime import timedelta import logging @@ -41,7 +42,6 @@ from aemet_opendata.helpers import ( get_forecast_hour_value, get_forecast_interval_value, ) -import async_timeout from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.util import dt as dt_util @@ -139,7 +139,7 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator): async def _async_update_data(self): data = {} - async with async_timeout.timeout(120): + async with timeout(120): weather_response = await self._get_aemet_weather() data = self._convert_weather_response(weather_response) return data diff --git a/homeassistant/components/airly/__init__.py b/homeassistant/components/airly/__init__.py index f52bdca4b86..982687c7723 100644 --- a/homeassistant/components/airly/__init__.py +++ b/homeassistant/components/airly/__init__.py @@ -1,6 +1,7 @@ """The Airly integration.""" from __future__ import annotations +from asyncio import timeout from datetime import timedelta import logging from math import ceil @@ -9,7 +10,6 @@ from aiohttp import ClientSession from aiohttp.client_exceptions import ClientConnectorError from airly import Airly from airly.exceptions import AirlyError -import async_timeout from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM from homeassistant.config_entries import ConfigEntry @@ -167,7 +167,7 @@ class AirlyDataUpdateCoordinator(DataUpdateCoordinator): measurements = self.airly.create_measurements_session_point( self.latitude, self.longitude ) - async with async_timeout.timeout(20): + async with timeout(20): try: await measurements.update() except (AirlyError, ClientConnectorError) as error: diff --git a/homeassistant/components/airly/config_flow.py b/homeassistant/components/airly/config_flow.py index 5d41116eaa1..27c7b0f91e3 100644 --- a/homeassistant/components/airly/config_flow.py +++ b/homeassistant/components/airly/config_flow.py @@ -1,13 +1,13 @@ """Adds config flow for Airly.""" from __future__ import annotations +from asyncio import timeout from http import HTTPStatus from typing import Any from aiohttp import ClientSession from airly import Airly from airly.exceptions import AirlyError -import async_timeout import voluptuous as vol from homeassistant import config_entries @@ -105,7 +105,7 @@ async def test_location( measurements = airly.create_measurements_session_point( latitude=latitude, longitude=longitude ) - async with async_timeout.timeout(10): + async with timeout(10): await measurements.update() current = measurements.current diff --git a/homeassistant/components/airzone/coordinator.py b/homeassistant/components/airzone/coordinator.py index ba0296557a1..6053c587550 100644 --- a/homeassistant/components/airzone/coordinator.py +++ b/homeassistant/components/airzone/coordinator.py @@ -1,13 +1,13 @@ """The Airzone integration.""" from __future__ import annotations +from asyncio import timeout from datetime import timedelta import logging from typing import Any from aioairzone.exceptions import AirzoneError from aioairzone.localapi import AirzoneLocalApi -import async_timeout from homeassistant.core import HomeAssistant from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed @@ -35,7 +35,7 @@ class AirzoneUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): async def _async_update_data(self) -> dict[str, Any]: """Update data via library.""" - async with async_timeout.timeout(AIOAIRZONE_DEVICE_TIMEOUT_SEC): + async with timeout(AIOAIRZONE_DEVICE_TIMEOUT_SEC): try: await self.airzone.update() except AirzoneError as error: diff --git a/homeassistant/components/airzone_cloud/coordinator.py b/homeassistant/components/airzone_cloud/coordinator.py index edd99355092..37b31c68ee7 100644 --- a/homeassistant/components/airzone_cloud/coordinator.py +++ b/homeassistant/components/airzone_cloud/coordinator.py @@ -1,13 +1,13 @@ """The Airzone Cloud integration coordinator.""" from __future__ import annotations +from asyncio import timeout from datetime import timedelta import logging from typing import Any from aioairzone_cloud.cloudapi import AirzoneCloudApi from aioairzone_cloud.exceptions import AirzoneCloudError -import async_timeout from homeassistant.core import HomeAssistant from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed @@ -35,7 +35,7 @@ class AirzoneUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): async def _async_update_data(self) -> dict[str, Any]: """Update data via library.""" - async with async_timeout.timeout(AIOAIRZONE_CLOUD_TIMEOUT_SEC): + async with timeout(AIOAIRZONE_CLOUD_TIMEOUT_SEC): try: await self.airzone.update() except AirzoneCloudError as error: diff --git a/homeassistant/components/alexa/auth.py b/homeassistant/components/alexa/auth.py index 61a87d9ebab..58095340146 100644 --- a/homeassistant/components/alexa/auth.py +++ b/homeassistant/components/alexa/auth.py @@ -1,5 +1,6 @@ """Support for Alexa skill auth.""" import asyncio +from asyncio import timeout from datetime import datetime, timedelta from http import HTTPStatus import json @@ -7,7 +8,6 @@ import logging from typing import Any import aiohttp -import async_timeout from homeassistant.const import CONF_CLIENT_ID, CONF_CLIENT_SECRET from homeassistant.core import HomeAssistant, callback @@ -113,7 +113,7 @@ class Auth: async def _async_request_new_token(self, lwa_params: dict[str, str]) -> str | None: try: session = aiohttp_client.async_get_clientsession(self.hass) - async with async_timeout.timeout(10): + async with timeout(10): response = await session.post( LWA_TOKEN_URI, headers=LWA_HEADERS, diff --git a/homeassistant/components/alexa/state_report.py b/homeassistant/components/alexa/state_report.py index bbaa8a240f7..786b2ee5227 100644 --- a/homeassistant/components/alexa/state_report.py +++ b/homeassistant/components/alexa/state_report.py @@ -2,6 +2,7 @@ from __future__ import annotations import asyncio +from asyncio import timeout from http import HTTPStatus import json import logging @@ -10,7 +11,6 @@ from typing import TYPE_CHECKING, Any, cast from uuid import uuid4 import aiohttp -import async_timeout from homeassistant.components import event from homeassistant.const import MATCH_ALL, STATE_ON @@ -364,7 +364,7 @@ async def async_send_changereport_message( assert config.endpoint is not None try: - async with async_timeout.timeout(DEFAULT_TIMEOUT): + async with timeout(DEFAULT_TIMEOUT): response = await session.post( config.endpoint, headers=headers, @@ -517,7 +517,7 @@ async def async_send_doorbell_event_message( assert config.endpoint is not None try: - async with async_timeout.timeout(DEFAULT_TIMEOUT): + async with timeout(DEFAULT_TIMEOUT): response = await session.post( config.endpoint, headers=headers, diff --git a/homeassistant/components/analytics/analytics.py b/homeassistant/components/analytics/analytics.py index a106e3f0068..1c81eacd14a 100644 --- a/homeassistant/components/analytics/analytics.py +++ b/homeassistant/components/analytics/analytics.py @@ -2,13 +2,13 @@ from __future__ import annotations import asyncio +from asyncio import timeout from dataclasses import asdict as dataclass_asdict, dataclass from datetime import datetime from typing import Any import uuid import aiohttp -import async_timeout from homeassistant.components import hassio from homeassistant.components.api import ATTR_INSTALLATION_TYPE @@ -313,7 +313,7 @@ class Analytics: ) try: - async with async_timeout.timeout(30): + async with timeout(30): response = await self.session.post(self.endpoint, json=payload) if response.status == 200: LOGGER.info( diff --git a/homeassistant/components/androidtv_remote/__init__.py b/homeassistant/components/androidtv_remote/__init__.py index 4c58f82b8e7..9471504808c 100644 --- a/homeassistant/components/androidtv_remote/__init__.py +++ b/homeassistant/components/androidtv_remote/__init__.py @@ -2,6 +2,7 @@ from __future__ import annotations import asyncio +from asyncio import timeout import logging from androidtvremote2 import ( @@ -10,7 +11,6 @@ from androidtvremote2 import ( ConnectionClosed, InvalidAuth, ) -import async_timeout from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, CONF_NAME, EVENT_HOMEASSISTANT_STOP, Platform @@ -45,7 +45,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: api.add_is_available_updated_callback(is_available_updated) try: - async with async_timeout.timeout(5.0): + async with timeout(5.0): await api.async_connect() except InvalidAuth as exc: # The Android TV is hard reset or the certificate and key files were deleted. diff --git a/homeassistant/components/anova/coordinator.py b/homeassistant/components/anova/coordinator.py index 436a1e469ba..94bd9bec9aa 100644 --- a/homeassistant/components/anova/coordinator.py +++ b/homeassistant/components/anova/coordinator.py @@ -1,9 +1,9 @@ """Support for Anova Coordinators.""" +from asyncio import timeout from datetime import timedelta import logging from anova_wifi import AnovaOffline, AnovaPrecisionCooker, APCUpdate -import async_timeout from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.device_registry import DeviceInfo @@ -47,7 +47,7 @@ class AnovaCoordinator(DataUpdateCoordinator[APCUpdate]): async def _async_update_data(self) -> APCUpdate: try: - async with async_timeout.timeout(5): + async with timeout(5): return await self.anova_device.update() except AnovaOffline as err: raise UpdateFailed(err) from err diff --git a/homeassistant/components/api/__init__.py b/homeassistant/components/api/__init__.py index f264806ad47..7b13833ccab 100644 --- a/homeassistant/components/api/__init__.py +++ b/homeassistant/components/api/__init__.py @@ -1,12 +1,12 @@ """Rest API for Home Assistant.""" import asyncio +from asyncio import timeout from functools import lru_cache from http import HTTPStatus import logging from aiohttp import web from aiohttp.web_exceptions import HTTPBadRequest -import async_timeout import voluptuous as vol from homeassistant.auth.permissions.const import POLICY_READ @@ -148,7 +148,7 @@ class APIEventStream(HomeAssistantView): while True: try: - async with async_timeout.timeout(STREAM_PING_INTERVAL): + async with timeout(STREAM_PING_INTERVAL): payload = await to_write.get() if payload is stop_obj: diff --git a/homeassistant/components/arcam_fmj/__init__.py b/homeassistant/components/arcam_fmj/__init__.py index 9c77690ac22..d9ab17dba86 100644 --- a/homeassistant/components/arcam_fmj/__init__.py +++ b/homeassistant/components/arcam_fmj/__init__.py @@ -1,11 +1,11 @@ """Arcam component.""" import asyncio +from asyncio import timeout import logging from typing import Any from arcam.fmj import ConnectionFailed from arcam.fmj.client import Client -import async_timeout from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, CONF_PORT, Platform @@ -66,7 +66,7 @@ async def _run_client(hass: HomeAssistant, client: Client, interval: float) -> N while True: try: - async with async_timeout.timeout(interval): + async with timeout(interval): await client.start() _LOGGER.debug("Client connected %s", client.host) diff --git a/homeassistant/components/assist_pipeline/websocket_api.py b/homeassistant/components/assist_pipeline/websocket_api.py index bf61b9776e9..57e2cc8b398 100644 --- a/homeassistant/components/assist_pipeline/websocket_api.py +++ b/homeassistant/components/assist_pipeline/websocket_api.py @@ -7,7 +7,6 @@ from collections.abc import AsyncGenerator, Callable import logging from typing import Any -import async_timeout import voluptuous as vol from homeassistant.components import conversation, stt, tts, websocket_api @@ -207,7 +206,7 @@ async def websocket_run( try: # Task contains a timeout - async with async_timeout.timeout(timeout): + async with asyncio.timeout(timeout): await run_task except asyncio.TimeoutError: pipeline_input.run.process_event( diff --git a/homeassistant/components/atag/__init__.py b/homeassistant/components/atag/__init__.py index 5f0552e9d77..2d04ca798e0 100644 --- a/homeassistant/components/atag/__init__.py +++ b/homeassistant/components/atag/__init__.py @@ -1,8 +1,8 @@ """The ATAG Integration.""" +from asyncio import timeout from datetime import timedelta import logging -import async_timeout from pyatag import AtagException, AtagOne from homeassistant.config_entries import ConfigEntry @@ -27,7 +27,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def _async_update_data(): """Update data via library.""" - async with async_timeout.timeout(20): + async with timeout(20): try: await atag.update() except AtagException as err: diff --git a/homeassistant/components/awair/__init__.py b/homeassistant/components/awair/__init__.py index bfd95fece2a..083c7d48b03 100644 --- a/homeassistant/components/awair/__init__.py +++ b/homeassistant/components/awair/__init__.py @@ -1,12 +1,11 @@ """The awair component.""" from __future__ import annotations -from asyncio import gather +from asyncio import gather, timeout from dataclasses import dataclass from datetime import timedelta from aiohttp import ClientSession -from async_timeout import timeout from python_awair import Awair, AwairLocal from python_awair.air_data import AirData from python_awair.devices import AwairBaseDevice, AwairLocalDevice diff --git a/homeassistant/components/axis/device.py b/homeassistant/components/axis/device.py index 8f3c8b9a8b6..0c132814e39 100644 --- a/homeassistant/components/axis/device.py +++ b/homeassistant/components/axis/device.py @@ -1,10 +1,10 @@ """Axis network device abstraction.""" import asyncio +from asyncio import timeout from types import MappingProxyType from typing import Any -import async_timeout import axis from axis.configuration import Configuration from axis.errors import Unauthorized @@ -253,7 +253,7 @@ async def get_axis_device( ) try: - async with async_timeout.timeout(30): + async with timeout(30): await device.vapix.initialize() return device diff --git a/homeassistant/components/baf/__init__.py b/homeassistant/components/baf/__init__.py index c9e51c79b82..dd784b214f7 100644 --- a/homeassistant/components/baf/__init__.py +++ b/homeassistant/components/baf/__init__.py @@ -2,10 +2,10 @@ from __future__ import annotations import asyncio +from asyncio import timeout from aiobafi6 import Device, Service from aiobafi6.discovery import PORT -import async_timeout from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_IP_ADDRESS, Platform @@ -35,7 +35,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: run_future = device.async_run() try: - async with async_timeout.timeout(RUN_TIMEOUT): + async with timeout(RUN_TIMEOUT): await device.async_wait_available() except asyncio.TimeoutError as ex: run_future.cancel() diff --git a/homeassistant/components/baf/config_flow.py b/homeassistant/components/baf/config_flow.py index 3f37df1b70a..bbae3914533 100644 --- a/homeassistant/components/baf/config_flow.py +++ b/homeassistant/components/baf/config_flow.py @@ -2,12 +2,12 @@ from __future__ import annotations import asyncio +from asyncio import timeout import logging from typing import Any from aiobafi6 import Device, Service from aiobafi6.discovery import PORT -import async_timeout import voluptuous as vol from homeassistant import config_entries @@ -27,7 +27,7 @@ async def async_try_connect(ip_address: str) -> Device: device = Device(Service(ip_addresses=[ip_address], port=PORT)) run_future = device.async_run() try: - async with async_timeout.timeout(RUN_TIMEOUT): + async with timeout(RUN_TIMEOUT): await device.async_wait_available() except asyncio.TimeoutError as ex: raise CannotConnect from ex diff --git a/homeassistant/components/bluesound/media_player.py b/homeassistant/components/bluesound/media_player.py index 91984cf6247..eba03963ebc 100644 --- a/homeassistant/components/bluesound/media_player.py +++ b/homeassistant/components/bluesound/media_player.py @@ -2,7 +2,7 @@ from __future__ import annotations import asyncio -from asyncio import CancelledError +from asyncio import CancelledError, timeout from datetime import timedelta from http import HTTPStatus import logging @@ -12,7 +12,6 @@ from urllib import parse import aiohttp from aiohttp.client_exceptions import ClientError from aiohttp.hdrs import CONNECTION, KEEP_ALIVE -import async_timeout import voluptuous as vol import xmltodict @@ -355,7 +354,7 @@ class BluesoundPlayer(MediaPlayerEntity): try: websession = async_get_clientsession(self._hass) - async with async_timeout.timeout(10): + async with timeout(10): response = await websession.get(url) if response.status == HTTPStatus.OK: @@ -396,7 +395,7 @@ class BluesoundPlayer(MediaPlayerEntity): _LOGGER.debug("Calling URL: %s", url) try: - async with async_timeout.timeout(125): + async with timeout(125): response = await self._polling_session.get( url, headers={CONNECTION: KEEP_ALIVE} ) diff --git a/homeassistant/components/bluetooth/api.py b/homeassistant/components/bluetooth/api.py index 6c232e2a42c..be35a9d255d 100644 --- a/homeassistant/components/bluetooth/api.py +++ b/homeassistant/components/bluetooth/api.py @@ -4,11 +4,11 @@ These APIs are the only documented way to interact with the bluetooth integratio """ from __future__ import annotations +import asyncio from asyncio import Future from collections.abc import Callable, Iterable from typing import TYPE_CHECKING, cast -import async_timeout from home_assistant_bluetooth import BluetoothServiceInfoBleak from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback as hass_callback @@ -152,7 +152,7 @@ async def async_process_advertisements( ) try: - async with async_timeout.timeout(timeout): + async with asyncio.timeout(timeout): return await done finally: unload() diff --git a/homeassistant/components/brother/__init__.py b/homeassistant/components/brother/__init__.py index 5f05caf0fc1..27ac97a27dc 100644 --- a/homeassistant/components/brother/__init__.py +++ b/homeassistant/components/brother/__init__.py @@ -1,10 +1,10 @@ """The Brother component.""" from __future__ import annotations +from asyncio import timeout from datetime import timedelta import logging -import async_timeout from brother import Brother, BrotherSensors, SnmpError, UnsupportedModelError from homeassistant.config_entries import ConfigEntry @@ -79,7 +79,7 @@ class BrotherDataUpdateCoordinator(DataUpdateCoordinator[BrotherSensors]): async def _async_update_data(self) -> BrotherSensors: """Update data via library.""" try: - async with async_timeout.timeout(20): + async with timeout(20): data = await self.brother.async_update() except (ConnectionError, SnmpError, UnsupportedModelError) as error: raise UpdateFailed(error) from error diff --git a/homeassistant/components/brunt/__init__.py b/homeassistant/components/brunt/__init__.py index 979b3f5b005..660c43f1004 100644 --- a/homeassistant/components/brunt/__init__.py +++ b/homeassistant/components/brunt/__init__.py @@ -1,10 +1,10 @@ """The brunt component.""" from __future__ import annotations +from asyncio import timeout import logging from aiohttp.client_exceptions import ClientResponseError, ServerDisconnectedError -import async_timeout from brunt import BruntClientAsync, Thing from homeassistant.config_entries import ConfigEntry @@ -43,7 +43,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: Error 401 is the API response for things that are not part of the account, could happen when a device is deleted from the account. """ try: - async with async_timeout.timeout(10): + async with timeout(10): things = await bapi.async_get_things(force=True) return {thing.serial: thing for thing in things} except ServerDisconnectedError as err: diff --git a/homeassistant/components/buienradar/util.py b/homeassistant/components/buienradar/util.py index 54f3732afe4..8fce65c0600 100644 --- a/homeassistant/components/buienradar/util.py +++ b/homeassistant/components/buienradar/util.py @@ -1,11 +1,11 @@ """Shared utilities for different supported platforms.""" import asyncio +from asyncio import timeout from datetime import datetime, timedelta from http import HTTPStatus import logging import aiohttp -import async_timeout from buienradar.buienradar import parse_data from buienradar.constants import ( ATTRIBUTION, @@ -92,7 +92,7 @@ class BrData: resp = None try: websession = async_get_clientsession(self.hass) - async with async_timeout.timeout(10): + async with timeout(10): resp = await websession.get(url) result[STATUS_CODE] = resp.status