platypush/platypush/message/event/gps.py

98 lines
2.1 KiB
Python
Raw Normal View History

from abc import ABC
from datetime import datetime
from typing import Optional
2019-08-03 02:06:06 +02:00
from platypush.message.event import Event
class GPSEvent(Event, ABC):
2019-08-03 02:06:06 +02:00
"""
Generic class for GPS events.
2019-08-03 02:06:06 +02:00
"""
class GPSDeviceEvent(GPSEvent):
2019-08-03 02:06:06 +02:00
"""
Event triggered when a new GPS device is connected or reconfigured.
2019-08-03 02:06:06 +02:00
"""
def __init__(
self,
path: str,
*args,
activated: Optional[datetime] = None,
native: bool = False,
baudrate: Optional[int] = None,
parity: Optional[str] = None,
stopbits: Optional[int] = None,
cycle: Optional[float] = None,
driver: Optional[str] = None,
subtype: Optional[str] = None,
**kwargs
):
"""
:param path: Device path.
:param activated: Device activation timestamp.
:param native: Device native status.
:param baudrate: Device baudrate.
:param parity: Device parity.
:param stopbits: Device stopbits.
:param cycle: Device cycle.
:param driver: Device driver.
:param subtype: Device subtype.
"""
super().__init__(
*args,
path=path,
activated=activated,
native=native,
baudrate=baudrate,
parity=parity,
stopbits=stopbits,
cycle=cycle,
driver=driver,
subtype=subtype,
**kwargs
)
2019-08-03 02:06:06 +02:00
class GPSLocationUpdateEvent(GPSEvent):
2019-08-03 02:06:06 +02:00
"""
Event triggered upon GPS status update.
2019-08-03 02:06:06 +02:00
"""
def __init__(
self,
*args,
device=None,
latitude=None,
longitude=None,
altitude=None,
mode=None,
**kwargs
):
super().__init__(
*args,
device=device,
latitude=latitude,
longitude=longitude,
altitude=altitude,
mode=mode,
**kwargs
)
2019-08-03 02:06:06 +02:00
class GPSEnabledEvent(GPSEvent):
2019-08-03 02:06:06 +02:00
"""
Event triggered when the GPS polling is enabled.
2019-08-03 02:06:06 +02:00
"""
class GPSDisabledEvent(GPSEvent):
"""
Event triggered when the GPS polling is disabled.
"""
2019-08-03 02:06:06 +02:00
# vim:sw=4:ts=4:et: