platypush/platypush/message/event/entities.py

33 lines
780 B
Python
Raw Normal View History

2022-04-24 21:38:45 +02:00
from abc import ABC
from typing import Union
from platypush.entities import Entity
from platypush.message.event import Event
2022-04-24 21:38:45 +02:00
class EntityEvent(Event, ABC):
def __init__(
self, entity: Union[Entity, dict], *args, disable_logging=True, **kwargs
):
if isinstance(entity, Entity):
entity = entity.to_json()
super().__init__(
entity=entity, *args, disable_logging=disable_logging, **kwargs
)
2022-04-24 21:38:45 +02:00
class EntityUpdateEvent(EntityEvent):
"""
This event is triggered whenever an entity of any type (a switch, a light,
a sensor, a media player etc.) updates its state.
"""
class EntityDeleteEvent(EntityEvent):
"""
This event is triggered whenever an entity is deleted.
"""
# vim:sw=4:ts=4:et: