tweaked types

This commit is contained in:
John Lancaster
2024-04-02 22:03:11 -05:00
parent f64605b831
commit 01af9e106c

View File

@@ -1,9 +1,8 @@
import json
import logging
import sys
from enum import Enum
from pathlib import Path
from typing import Annotated, Literal, Optional, TypedDict
from typing import Literal, Optional
from appdaemon.plugins.hass.hassapi import Hass
from appdaemon.plugins.mqtt.mqttapi import Mqtt
@@ -59,7 +58,7 @@ class MQTTResponse(BaseModel):
class CallbackEntry(BaseModel):
entity: str
event: Optional[str] = None
type: str
type: Literal['state', 'event']
kwargs: str
function: str
name: str
@@ -67,10 +66,6 @@ class CallbackEntry(BaseModel):
pin_thread: int
class Callbacks(TypedDict):
pass
Callbacks = dict[str, dict[str, CallbackEntry]]
@@ -94,10 +89,11 @@ class AqaraCube(Hass, Mqtt):
def callbacks(self) -> dict[str, CallbackEntry]:
data = TypeAdapter(Callbacks).validate_python(self.get_callback_entries())
name: str = self.name
try:
return data[self.name]
return data[name]
except KeyError:
return []
return
def handle_event(self, event_name, data, cb_args):
data = MQTTResponse.model_validate(data)