4
7
8 - def createJob(self, scheduler, jobInfo, func):
10
11
13 - def __init__(self, name="", weeks=0, days=0, hours=0, minutes=0, seconds=0, start_date=None, comment=None):
14 super(IntervalPeriod, self).__init__(name)
15
16 self.days = days
17 self.weeks = weeks
18 self.hours = hours
19 self.minutes = minutes
20 self.seconds = seconds
21 self.start_date = start_date
22 self.comment = comment
23
24 - def createJob(self, scheduler, jobInfo, func):
25 return scheduler.add_interval_job(func, weeks=self.weeks, hours=self.hours, minutes=self.minutes,
26 seconds=self.seconds, start_date=self.start_date, args=[jobInfo])
27
29 ret = "IntervalPeriod(Name: " + self.name + ")"
30 return ret
31
32
34 - def __init__(self, name="", year="*", month="*", day="*", week="*", day_of_week="*", hour="*", minute="*",
35 second="0", start_date=None, comment=None):
36 super(CronPeriod, self).__init__(name)
37 self.year = year
38 self.month = month
39 self.day = day
40 self.week = week
41 self.day_of_week = day_of_week
42 self.hour = hour
43 self.minute = minute
44 self.second = second
45 self.start_date = start_date
46 self.comment = comment
47
49 ret = "CronPeriod(Name: " + self.name + ")"
50 return ret
51
52 - def createJob(self, scheduler, jobInfo, func):
53 return scheduler.add_cron_job(func, year=self.year, month=self.month, day=self.day, week=self.week,
54 day_of_week=self.day_of_week, hour=self.hour, minute=self.minute,
55 second=self.second, start_date=self.start_date, args=[jobInfo])
56
57
59 - def __init__(self, name, date, comment=None):
63
65 ret = "DatePeriod(Name: " + self.name + ", " + str(self.date) + ")"
66 return ret
67
68 - def createJob(self, scheduler, jobInfo, func):
69 return scheduler.add_date_job(func, self.date, jobInfo)
70
71
73 periods = []
74
75 for name, values in periodlist.items():
76
77 if "date" in values:
78 periods.append(DatePeriod(name, **values))
79 continue
80
81 comp = ["weeks", "days", "hours", "minutes", "seconds", "start_date"]
82 if len([i for i in comp if i in values]) > 0 :
83 periods.append(IntervalPeriod(name, **values))
84 break
85
86 comp = ["year", "month", "day", "week", "day_of_week", "hour", "minute", "second"]
87 if len([i for i in comp if i in values]) > 0 :
88 periods.append(CronPeriod(name, **values))
89 break
90 else:
91 log.w("ignoring Period: " + str(name))
92 log.w("reason: could not determine PeriodType: " + str(values))
93
94 return periods
95