2018-12-23 11:05:38 +01:00
|
|
|
from typing import Any, Dict
|
2017-08-30 00:07:54 +02:00
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
from ..utils.projector import register_projector_element
|
2015-06-24 22:11:54 +02:00
|
|
|
|
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
# Important: All functions have to be prune. This means, that thay can only
|
|
|
|
# access the data, that they get as argument and do not have any
|
|
|
|
# side effects. They are called from an async context. So they have
|
|
|
|
# to be fast!
|
2015-06-24 22:11:54 +02:00
|
|
|
|
2016-10-01 20:42:44 +02:00
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
def motion(
|
2019-01-18 19:11:22 +01:00
|
|
|
element: Dict[str, Any], all_data: Dict[str, Dict[int, Dict[str, Any]]]
|
2018-12-23 11:05:38 +01:00
|
|
|
) -> Dict[str, Any]:
|
2016-10-01 20:42:44 +02:00
|
|
|
"""
|
2018-12-23 11:05:38 +01:00
|
|
|
Motion slide.
|
2016-10-01 20:42:44 +02:00
|
|
|
"""
|
2018-12-23 11:05:38 +01:00
|
|
|
return {"error": "TODO"}
|
2019-01-06 16:22:33 +01:00
|
|
|
|
2016-10-01 20:42:44 +02:00
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
def motion_block(
|
2019-01-18 19:11:22 +01:00
|
|
|
element: Dict[str, Any], all_data: Dict[str, Dict[int, Dict[str, Any]]]
|
2018-12-23 11:05:38 +01:00
|
|
|
) -> Dict[str, Any]:
|
|
|
|
"""
|
|
|
|
Motion slide.
|
|
|
|
"""
|
|
|
|
return {"error": "TODO"}
|
2017-08-30 00:07:54 +02:00
|
|
|
|
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
def register_projector_elements() -> None:
|
|
|
|
register_projector_element("motion/motion", motion)
|
|
|
|
register_projector_element("motion/motion-block", motion_block)
|