Coverage for scheduler/base/timingtype.py: 100%
14 statements
« prev ^ index » next coverage.py v7.6.10, created at 2026-02-11 03:21 +0000
« prev ^ index » next coverage.py v7.6.10, created at 2026-02-11 03:21 +0000
1"""
2Defines the typing for all trigger objects.
4Combines custom trigger objects like Weekday with the python in build
5types for the datetime library.
7Author: Jendrik A. Potyka, Fabian A. Preiss
8"""
10import datetime as dt
11from typing import Union
13from scheduler.trigger.core import Weekday
15# execution interval
16TimingCyclic = dt.timedelta # Scheduler
17_TimingCyclicList = list[TimingCyclic]
19# time on the clock
20_TimingDaily = dt.time # JobTimer
21# TimingDaily = Union[dt.time, list[dt.time]]
22_TimingDailyList = list[_TimingDaily] # Job
23TimingDailyUnion = Union[_TimingDaily, _TimingDailyList] # Scheduler
25# day of the week or time on the clock
26_TimingWeekly = Weekday
27_TimingWeeklyList = list[_TimingWeekly]
28TimingWeeklyUnion = Union[_TimingWeekly, _TimingWeeklyList] # Scheduler
30TimingJobTimerUnion = Union[TimingCyclic, _TimingDaily, _TimingWeekly] # JobTimer
31TimingJobUnion = Union[_TimingCyclicList, _TimingDailyList, _TimingWeeklyList] # Job
33TimingOnceUnion = Union[dt.datetime, TimingCyclic, _TimingWeekly, _TimingDaily] # Scheduler.once