platypush/platypush/message/event/entities.py

32 lines
821 B
Python

import logging
from typing import Union
from platypush.entities import Entity
from platypush.message.event import Event
class EntityEvent(Event):
def __init__(self, entity: Union[Entity, dict], *args, **kwargs):
if isinstance(entity, Entity):
entity = entity.to_json()
super().__init__(entity=entity, *args, **kwargs)
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.
"""
def __init__(self, *args, logging_level=logging.DEBUG, **kwargs):
super().__init__(*args, logging_level=logging_level, **kwargs)
class EntityDeleteEvent(EntityEvent):
"""
This event is triggered whenever an entity is deleted.
"""
# vim:sw=4:ts=4:et: