Avoid a naive datetime.now() in generic (#178486)

This commit is contained in:
soldier2008
2026-08-09 07:59:49 +01:00
committed by GitHub
parent 35b62f6228
commit b4687479fb
2 changed files with 7 additions and 9 deletions
+5 -6
View File
@@ -2,8 +2,8 @@
import asyncio
from collections.abc import Mapping
from datetime import datetime, timedelta
import logging
import time
from typing import Any, override
import httpx
@@ -75,7 +75,7 @@ class GenericCamera(Camera):
"""A generic implementation of an IP camera."""
_last_image: bytes | None
_last_update: datetime
_last_update: float
_update_lock: asyncio.Lock
def __init__(
@@ -114,7 +114,7 @@ class GenericCamera(Camera):
self._last_url = None
self._last_image = None
self._last_update = datetime.min
self._last_update = 0.0
self._update_lock = asyncio.Lock()
self._attr_device_info = DeviceInfo(
@@ -155,13 +155,12 @@ class GenericCamera(Camera):
if (
self._last_image is not None
and url == self._last_url
and self._last_update + timedelta(0, self._attr_frame_interval)
> datetime.now() # pylint: disable=home-assistant-enforce-naive-now
and self._last_update + self._attr_frame_interval > time.time()
):
return self._last_image
try:
update_time = datetime.now() # pylint: disable=home-assistant-enforce-naive-now
update_time = time.time()
async_client = get_async_client(self.hass, verify_ssl=self.verify_ssl)
response = await async_client.get(
url,
@@ -3,10 +3,10 @@
import asyncio
from collections.abc import Mapping
import contextlib
from datetime import datetime
from errno import EHOSTUNREACH, EIO
import io
import logging
import time
from typing import Any, cast, override
from aiohttp import web
@@ -587,8 +587,7 @@ async def ws_start_preview(
if user_input.get(CONF_STILL_IMAGE_URL):
ha_still_url = (
"/api/generic/preview_flow_image"
f"/{msg['flow_id']}?t={datetime.now().isoformat()}" # pylint: disable=home-assistant-enforce-naive-now
f"/api/generic/preview_flow_image/{msg['flow_id']}?t={time.time()}"
)
_LOGGER.debug("Got preview still URL: %s", ha_still_url)