From 49d20eedd4572840ba364258dc54d64b13d39c9a Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Thu, 7 Mar 2024 20:37:35 +0100 Subject: [PATCH] Remove local imports of hass-nabucasa (#112634) --- homeassistant/components/http/forwarded.py | 22 ++-------------------- homeassistant/helpers/network.py | 3 +-- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/homeassistant/components/http/forwarded.py b/homeassistant/components/http/forwarded.py index 5d122436af2..c5698ebe919 100644 --- a/homeassistant/components/http/forwarded.py +++ b/homeassistant/components/http/forwarded.py @@ -4,11 +4,10 @@ from __future__ import annotations from collections.abc import Awaitable, Callable from ipaddress import IPv4Network, IPv6Network, ip_address import logging -from types import ModuleType -from typing import Literal from aiohttp.hdrs import X_FORWARDED_FOR, X_FORWARDED_HOST, X_FORWARDED_PROTO from aiohttp.web import Application, HTTPBadRequest, Request, StreamResponse, middleware +from hass_nabucasa import remote from homeassistant.core import callback @@ -67,30 +66,13 @@ def async_setup_forwarded( an HTTP 400 status code is thrown. """ - remote: Literal[False] | None | ModuleType = None - @middleware async def forwarded_middleware( request: Request, handler: Callable[[Request], Awaitable[StreamResponse]] ) -> StreamResponse: """Process forwarded data by a reverse proxy.""" - nonlocal remote - - if remote is None: - # Initialize remote method - try: - from hass_nabucasa import ( # pylint: disable=import-outside-toplevel - remote, - ) - - # venv users might have an old version installed if they don't have cloud around anymore - if not hasattr(remote, "is_cloud_request"): - remote = False - except ImportError: - remote = False - # Skip requests from Remote UI - if remote and remote.is_cloud_request.get(): + if remote.is_cloud_request.get(): return await handler(request) # Handle X-Forwarded-For diff --git a/homeassistant/helpers/network.py b/homeassistant/helpers/network.py index df95c0834bc..46d71ccb390 100644 --- a/homeassistant/helpers/network.py +++ b/homeassistant/helpers/network.py @@ -6,6 +6,7 @@ from contextlib import suppress from ipaddress import ip_address from typing import cast +from hass_nabucasa import remote import yarl from homeassistant.components import http @@ -314,6 +315,4 @@ def is_cloud_connection(hass: HomeAssistant) -> bool: if "cloud" not in hass.config.components: return False - from hass_nabucasa import remote # pylint: disable=import-outside-toplevel - return remote.is_cloud_request.get()