1 from apscheduler.scheduler import Scheduler
2
3
7
10
11 - def createJob(self, scheduler, jobInfo, func):
13
14
16 - def __init__(self, name="", weeks=0,days=0, hours=0, minutes=0, seconds=0, start_date=None,
17 comment=None):
18 super(IntervalPeriod, self).__init__(name)
19
20 self.days = days
21 self.weeks = weeks
22 self.hours = hours
23 self.minutes = minutes
24 self.seconds = seconds
25 self.start_date = start_date
26 self.comment = comment
27
28 - def createJob(self, scheduler, jobInfo, func):
29 return scheduler.add_interval_job(func, self.weeks, self.hours, self.minutes, self.seconds, self.start_date, jobInfo)
30
31
33 ret = "IntervalPeriod(Name: " + self.name + ")"
34 return ret
35
36
38 - def __init__(self, name="", year="*", month="*", day="*", week="*",
39 day_of_week="*", hour="*", minute="*", second="0",
40 comment=None):
41 super(CronPeriod, self).__init__(name)
42 self.year = year
43 self.month = month
44 self.day = day
45 self.week = week
46 self.day_of_week = day_of_week
47 self.hour = hour
48 self.minute = minute
49 self.second = second
50 self.comment = comment
51 self.date = date
52
54 ret = "CronPeriod(Name: " + self.name + ")"
55 return ret
56
57 - def createJob(self, scheduler, jobInfo, func):
58 return scheduler.add_cron_job(func, self.year, self.month, self.day, self.week, self.day_of_week, self.hour, self.minute, self.second, jobInfo)
59
60
62 - def __init__(self, name, date, comment=None):
66
68 ret = "DatePeriod(Name: " + self.name + ","+ str(self.date) + ")"
69 return ret
70
71 - def createJob(self, scheduler, jobInfo, func):
72 return scheduler.add_date_job(func, self.date, jobInfo)
73
74
75
76
77
79 periods=[]
80 for name, values in periodlist.items():
81 if "date" in values:
82 periods.append(DatePeriod(name, **values))
83 break
84
85 for i in [ "weeks","days", "hours", "minutes", "seconds", "start_date"]:
86 if i in values:
87 periods.append(IntervalPeriod(name, **values))
88 break
89
90 for i in ["year", "month", "day", "week", "day_of_week", "hour", "minute", "second"]:
91 if i in values:
92 periods.append(CronPeriod(name, **values))
93 break
94
95 log.w("ignoring Period: " +str(name))
96 log.w("reason: could not determine PeriodType: " + str(values))
97
98
99 return periods
100