Switch from mypy to pyright
This commit is contained in:
parent
7b26d3a160
commit
cc0c978f0c
12 changed files with 1000 additions and 17 deletions
|
@ -38,7 +38,7 @@ class HAClient:
|
|||
self.selector = Selector(self.send_data)
|
||||
|
||||
@property
|
||||
def ha_options(self) -> dict[str, str | dict[str, str]]:
|
||||
def ha_options(self) -> dict[str, Any]:
|
||||
return {
|
||||
"dev": {
|
||||
"ids": "oin",
|
||||
|
@ -166,6 +166,10 @@ class HAClient:
|
|||
self.selector.switch = True
|
||||
case "off":
|
||||
self.selector.switch = False
|
||||
case other:
|
||||
logger.warning(f"Unknown state received: <{other}>.")
|
||||
case _:
|
||||
pass
|
||||
|
||||
def secondary_state_update(
|
||||
self, client: mqtt.Client, userdata: Any, message: mqtt.MQTTMessage
|
||||
|
|
|
@ -3,7 +3,8 @@ import math
|
|||
from threading import Timer
|
||||
|
||||
import bdfparser
|
||||
from sense_hat import InputEvent, SenseHat
|
||||
from sense_hat.sense_hat import SenseHat
|
||||
from sense_hat.stick import InputEvent
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -99,10 +100,7 @@ class Screen:
|
|||
color = self.color
|
||||
|
||||
if value:
|
||||
pixels = [
|
||||
color if x else bg_color
|
||||
for x in self.font.draw(value, mode=0).crop(8, 7).todata(3)
|
||||
]
|
||||
pixels = [color if x else bg_color for x in self.data_from_value(value)]
|
||||
else:
|
||||
pixels = 48 * [(0, 0, 0)]
|
||||
pixels += self.secondary_pixels
|
||||
|
@ -137,6 +135,11 @@ class Screen:
|
|||
self._held = False
|
||||
case ("released", False):
|
||||
self.show_tmp()
|
||||
case _:
|
||||
pass
|
||||
|
||||
def data_from_value(self, value: str) -> list[int]:
|
||||
return self.font.draw(value, mode=0).crop(8, 7).todata(3)
|
||||
|
||||
|
||||
def format_value(value: float) -> str:
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
import logging
|
||||
import math
|
||||
from collections.abc import Callable
|
||||
from typing import Any
|
||||
|
||||
from sense_hat import ACTION_HELD, ACTION_RELEASED, InputEvent, SenseHat
|
||||
from sense_hat.sense_hat import SenseHat
|
||||
from sense_hat.stick import ACTION_HELD, ACTION_RELEASED, InputEvent
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Selector:
|
||||
def __init__(self, send_data: Callable[[dict[str, float | str | None]], None]):
|
||||
def __init__(self, send_data: Callable[[dict[str, Any]], Any]):
|
||||
self.stick = SenseHat().stick
|
||||
self.temperature = None
|
||||
self.mode = None
|
||||
self.switch = None
|
||||
self.temperature: float | None = None
|
||||
self.mode: str | None = None
|
||||
self.switch: bool | None = None
|
||||
self.preset_modes: list[str] = []
|
||||
self.send_data = send_data
|
||||
self.switch_held = False
|
||||
|
@ -93,5 +95,5 @@ class Selector:
|
|||
elif self.switch_held and event.action == ACTION_RELEASED:
|
||||
self.switch_held = False
|
||||
|
||||
def callback(self, data: dict[str, float | str | None]) -> None:
|
||||
def callback(self, data: dict[str, Any]) -> None:
|
||||
self.send_data(self.default_data | data)
|
||||
|
|
Reference in a new issue