Package linspector :: Package lib :: Package config :: Module periods
[hide private]
[frames] | no frames]

Source Code for Module linspector.lib.config.periods

1 -class Period(object):
2 - def __init__(self, name):
3 self.name = name
4
5 - def getName(self):
6 return self.name
7
8 - def createJob(self, scheduler, jobInfo, func):
9 pass
10 11
12 -class IntervalPeriod(Period):
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 # number of days to wait 17 self.weeks = weeks # number of weeks to wait 18 self.hours = hours # number of hours to wait 19 self.minutes = minutes # number of minutes to wait 20 self.seconds = seconds # number of seconds to wait 21 self.start_date = start_date # when to first execute 22 self.comment = 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
28 - def __str__(self):
29 ret = "IntervalPeriod(Name: " + self.name + ")" 30 return ret
31 32
33 -class CronPeriod(Period):
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 # 4-digit year number 38 self.month = month # month number (1-12) 39 self.day = day # day of the month (1-31) 40 self.week = week # ISO week number (1-53) 41 self.day_of_week = day_of_week # number or name of weekday (0-6 or mon,tue,wed,thu,fri,sat,sun) 42 self.hour = hour # hour (0-23) 43 self.minute = minute # minute (0-59) 44 self.second = second # second (0-59) 45 self.start_date = start_date 46 self.comment = comment
47
48 - def __str__(self):
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
58 -class DatePeriod(Period):
59 - def __init__(self, name, date, comment=None):
60 super(DatePeriod, self).__init__(name) 61 self.date = date 62 self.comment = comment
63
64 - def __str__(self):
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