platypush/platypush/message/event/camera.py

64 lines
1.5 KiB
Python

import logging
from platypush.message.event import Event
class CameraEvent(Event):
"""Base class for camera events"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
class CameraRecordingStartedEvent(CameraEvent):
"""
Event triggered when a new recording starts
"""
def __init__(self, device, filename=None, *args, **kwargs):
super().__init__(*args, device=device, filename=filename, **kwargs)
class CameraRecordingStoppedEvent(CameraEvent):
"""
Event triggered when a recording stops
"""
def __init__(self, device, *args, **kwargs):
super().__init__(*args, device=device, **kwargs)
class CameraVideoRenderedEvent(CameraEvent):
"""
Event triggered when a sequence of frames has been rendered into a video
"""
def __init__(self, filename=None, *args, **kwargs):
super().__init__(*args, filename=filename, **kwargs)
class CameraPictureTakenEvent(CameraEvent):
"""
Event triggered when a snapshot has been taken
"""
def __init__(self, filename=None, *args, **kwargs):
super().__init__(*args, filename=filename, **kwargs)
class CameraFrameCapturedEvent(CameraEvent):
"""
Event triggered when a camera frame has been captured
"""
def __init__(self, filename=None, *args, **kwargs):
super().__init__(
*args,
filename=filename,
logging_level=kwargs.pop('logging_level', logging.DEBUG),
**kwargs
)
# vim:sw=4:ts=4:et: