1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-04 04:12:23 +01:00

update minimal python version to 3.10 (#8850)

This commit is contained in:
Thomas Rupprecht
2025-05-22 03:21:43 +02:00
committed by GitHub
parent 026f47bfb3
commit aeb4e63950
36 changed files with 148 additions and 166 deletions

View File

@@ -1,4 +1,5 @@
from typing import Any, Callable
from collections.abc import Callable
from typing import Any
from esphome import automation
import esphome.codegen as cg

View File

@@ -1,5 +1,3 @@
from typing import Union
import esphome.codegen as cg
from esphome.components import image
from esphome.components.color import CONF_HEX, ColorStruct, from_rgbw
@@ -361,7 +359,7 @@ lv_image_list = LValidator(
lv_bool = LValidator(cv.boolean, cg.bool_, retmapper=literal)
def lv_pct(value: Union[int, float]):
def lv_pct(value: int | float):
if isinstance(value, float):
value = int(value * 100)
return literal(f"lv_pct({value})")

View File

@@ -1,5 +1,4 @@
import abc
from typing import Union
from esphome import codegen as cg
from esphome.config import Config
@@ -75,7 +74,7 @@ class CodeContext(abc.ABC):
code_context = None
@abc.abstractmethod
def add(self, expression: Union[Expression, Statement]):
def add(self, expression: Expression | Statement):
pass
@staticmethod
@@ -89,13 +88,13 @@ class CodeContext(abc.ABC):
CodeContext.append(RawStatement("}"))
@staticmethod
def append(expression: Union[Expression, Statement]):
def append(expression: Expression | Statement):
if CodeContext.code_context is not None:
CodeContext.code_context.add(expression)
return expression
def __init__(self):
self.previous: Union[CodeContext | None] = None
self.previous: CodeContext | None = None
self.indent_level = 0
async def __aenter__(self):
@@ -121,7 +120,7 @@ class MainContext(CodeContext):
Code generation into the main() function
"""
def add(self, expression: Union[Expression, Statement]):
def add(self, expression: Expression | Statement):
return cg.add(self.indented_statement(expression))
@@ -144,7 +143,7 @@ class LambdaContext(CodeContext):
self.capture = capture
self.where = where
def add(self, expression: Union[Expression, Statement]):
def add(self, expression: Expression | Statement):
self.code_list.append(self.indented_statement(expression))
return expression
@@ -186,7 +185,7 @@ class LvContext(LambdaContext):
async def __aexit__(self, exc_type, exc_val, exc_tb):
await super().__aexit__(exc_type, exc_val, exc_tb)
def add(self, expression: Union[Expression, Statement]):
def add(self, expression: Expression | Statement):
cg.add(expression)
return expression
@@ -303,7 +302,7 @@ lvgl_static = MockObj("LvglComponent", "::")
# equivalent to cg.add() for the current code context
def lv_add(expression: Union[Expression, Statement]):
def lv_add(expression: Expression | Statement):
return CodeContext.append(expression)

View File

@@ -1,5 +1,5 @@
import sys
from typing import Any, Union
from typing import Any
from esphome import codegen as cg, config_validation as cv
from esphome.config_validation import Invalid
@@ -262,7 +262,7 @@ async def wait_for_widgets():
await FakeAwaitable(widgets_wait_generator())
async def get_widgets(config: Union[dict, list], id: str = CONF_ID) -> list[Widget]:
async def get_widgets(config: dict | list, id: str = CONF_ID) -> list[Widget]:
if not config:
return []
if not isinstance(config, list):