mirror of
https://github.com/home-assistant/core.git
synced 2026-08-24 10:13:52 -05:00
Avoid a naive datetime.now() in generic (#178486)
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user