[core] Defer stdlib imports out of the upload and logs fast path (#18105)

This commit is contained in:
J. Nick Koston
2026-08-05 19:09:00 -05:00
committed by GitHub
parent 7f80276cf4
commit 524b278811
9 changed files with 121 additions and 25 deletions
+8 -1
View File
@@ -1,11 +1,11 @@
from __future__ import annotations
import binascii
from datetime import datetime
import json
import logging
import os
from pathlib import Path
from typing import TYPE_CHECKING
from esphome import const
from esphome.const import (
@@ -24,6 +24,9 @@ from esphome.core import CORE, EsphomeError, Version
from esphome.helpers import write_file_if_changed
from esphome.types import CoreType
if TYPE_CHECKING:
from datetime import datetime
_LOGGER = logging.getLogger(__name__)
@@ -372,6 +375,10 @@ class EsphomeStorageJSON:
@property
def last_update_check(self) -> datetime | None:
# Deferred: this module is on the upload/logs fast path; only the
# dashboard's update check touches these accessors.
from datetime import datetime
try:
# Stored format is naive ISO without %z; preserved for backward compat.
return datetime.strptime( # noqa: DTZ007