from __future__ import annotations
from datetime import datetime, timezone
import logging
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from pyobs.robotic.task import TaskData
from pyobs.robotic.scripts import Script
log = logging.getLogger(__name__)
[docs]
class LogRunner(Script):
"""Script for logging something."""
expression: str
[docs]
async def can_run(self, data: TaskData | None) -> bool:
return True
[docs]
async def run(self, data: TaskData | None) -> None:
# evaluate condition
value = eval(self.expression, {"now": datetime.now(timezone.utc)})
# log it
log.info(value)
__all__ = ["LogRunner"]