mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-31 19:45:15 +02:00
feat(automations): add schedule trigger source, selector and inputs
This commit is contained in:
parent
f293aa6bdf
commit
b1642993ba
3 changed files with 229 additions and 0 deletions
|
|
@ -0,0 +1,27 @@
|
|||
"""Build run inputs from a schedule fire."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
|
||||
def schedule_runtime_inputs(
|
||||
*,
|
||||
fired_at: datetime,
|
||||
scheduled_for: datetime,
|
||||
previous_last_fired_at: datetime | None,
|
||||
) -> dict[str, Any]:
|
||||
"""Calendar context for a scheduled run.
|
||||
|
||||
- ``fired_at`` — actual fire time
|
||||
- ``scheduled_for`` — cron-derived target time for this fire
|
||||
- ``last_fired_at`` — previous fire time, or null on first fire
|
||||
"""
|
||||
return {
|
||||
"fired_at": fired_at.isoformat(),
|
||||
"scheduled_for": scheduled_for.isoformat(),
|
||||
"last_fired_at": (
|
||||
previous_last_fired_at.isoformat() if previous_last_fired_at else None
|
||||
),
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue