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: