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

1""" 

2Defines the typing for all trigger objects. 

3 

4Combines custom trigger objects like Weekday with the python in build 

5types for the datetime library. 

6 

7Author: Jendrik A. Potyka, Fabian A. Preiss 

8""" 

9 

10import datetime as dt 

11from typing import Union 

12 

13from scheduler.trigger.core import Weekday 

14 

15# execution interval 

16TimingCyclic = dt.timedelta # Scheduler 

17_TimingCyclicList = list[TimingCyclic] 

18 

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 

24 

25# day of the week or time on the clock 

26_TimingWeekly = Weekday 

27_TimingWeeklyList = list[_TimingWeekly] 

28TimingWeeklyUnion = Union[_TimingWeekly, _TimingWeeklyList] # Scheduler 

29 

30TimingJobTimerUnion = Union[TimingCyclic, _TimingDaily, _TimingWeekly] # JobTimer 

31TimingJobUnion = Union[_TimingCyclicList, _TimingDailyList, _TimingWeeklyList] # Job 

32 

33TimingOnceUnion = Union[dt.datetime, TimingCyclic, _TimingWeekly, _TimingDaily] # Scheduler.once