2018-12-23 11:05:38 +01:00
|
|
|
from typing import Any, Dict
|
2017-08-30 00:07:54 +02:00
|
|
|
|
2019-02-14 16:02:18 +01:00
|
|
|
from ..utils.projector import (
|
2020-05-15 11:47:43 +02:00
|
|
|
ProjectorAllDataProvider,
|
2019-02-14 16:02:18 +01:00
|
|
|
get_config,
|
2020-05-15 11:47:43 +02:00
|
|
|
get_model,
|
2019-02-14 16:02:18 +01:00
|
|
|
register_projector_slide,
|
|
|
|
)
|
2015-06-12 21:08:57 +02:00
|
|
|
|
2015-02-18 01:45:39 +01:00
|
|
|
|
2019-03-23 12:06:57 +01:00
|
|
|
async def countdown_slide(
|
2020-05-15 11:47:43 +02:00
|
|
|
all_data_provider: ProjectorAllDataProvider,
|
|
|
|
element: Dict[str, Any],
|
|
|
|
projector_id: int,
|
2019-02-21 14:40:07 +01:00
|
|
|
) -> Dict[str, Any]:
|
2015-02-18 01:45:39 +01:00
|
|
|
"""
|
2018-12-23 11:05:38 +01:00
|
|
|
Countdown slide.
|
2019-01-06 16:22:33 +01:00
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
Returns the full_data of the countdown element.
|
2015-02-18 01:45:39 +01:00
|
|
|
|
2019-01-18 19:11:22 +01:00
|
|
|
element = {
|
2018-12-23 11:05:38 +01:00
|
|
|
name: 'core/countdown',
|
|
|
|
id: 5, # Countdown ID
|
|
|
|
}
|
|
|
|
"""
|
2020-05-15 11:47:43 +02:00
|
|
|
countdown = await get_model(all_data_provider, "core/countdown", element.get("id"))
|
2019-02-14 16:02:18 +01:00
|
|
|
return {
|
|
|
|
"description": countdown["description"],
|
|
|
|
"running": countdown["running"],
|
|
|
|
"countdown_time": countdown["countdown_time"],
|
2020-05-15 11:47:43 +02:00
|
|
|
"warning_time": await get_config(
|
|
|
|
all_data_provider, "agenda_countdown_warning_time"
|
|
|
|
),
|
2019-02-14 16:02:18 +01:00
|
|
|
}
|
2015-02-18 01:45:39 +01:00
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
|
2019-03-23 12:06:57 +01:00
|
|
|
async def message_slide(
|
2020-05-15 11:47:43 +02:00
|
|
|
all_data_provider: ProjectorAllDataProvider,
|
|
|
|
element: Dict[str, Any],
|
|
|
|
projector_id: int,
|
2019-02-21 14:40:07 +01:00
|
|
|
) -> Dict[str, Any]:
|
2015-02-18 01:45:39 +01:00
|
|
|
"""
|
2018-12-23 11:05:38 +01:00
|
|
|
Message slide.
|
2019-01-06 16:22:33 +01:00
|
|
|
|
2018-12-23 11:05:38 +01:00
|
|
|
Returns the full_data of the message element.
|
|
|
|
|
2019-01-18 19:11:22 +01:00
|
|
|
element = {
|
2018-12-23 11:05:38 +01:00
|
|
|
name: 'core/projector-message',
|
|
|
|
id: 5, # ProjectorMessage ID
|
|
|
|
}
|
|
|
|
"""
|
2020-05-15 11:47:43 +02:00
|
|
|
return await get_model(
|
|
|
|
all_data_provider, "core/projector-message", element.get("id")
|
|
|
|
)
|
2016-10-21 11:05:24 +02:00
|
|
|
|
2017-08-30 00:07:54 +02:00
|
|
|
|
2019-03-23 12:06:57 +01:00
|
|
|
async def clock_slide(
|
2020-05-15 11:47:43 +02:00
|
|
|
all_data_provider: ProjectorAllDataProvider,
|
|
|
|
element: Dict[str, Any],
|
|
|
|
projector_id: int,
|
2019-02-21 14:40:07 +01:00
|
|
|
) -> Dict[str, Any]:
|
2019-01-24 16:25:50 +01:00
|
|
|
return {}
|
|
|
|
|
|
|
|
|
2019-01-27 13:17:17 +01:00
|
|
|
def register_projector_slides() -> None:
|
|
|
|
register_projector_slide("core/countdown", countdown_slide)
|
|
|
|
register_projector_slide("core/projector-message", message_slide)
|
2019-01-26 20:37:49 +01:00
|
|
|
register_projector_slide("core/clock", clock_slide)
|