Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def yearly_relative(self):
"""
gets the yearly_relative schedule
Returns: (dict) The schedule pattern
{
"active_start_time": time_in_%H/%S (str),
"relative_time": relative day of the schedule (str)'first','second',..
"relative_weekday": Day to run schedule (str) 'sunday','monday'...
"on_month": month to run the schedule(str) January, Febuary...
}
False: if schedule type is wrong
"""
if self.schedule_freq_type == 'Yearly_Relative':
return {'active_start_time':
SchedulePattern._time_converter(self._pattern['active_start_time'],
'%H:%M', False),
'relative_time': SchedulePattern._relative_day
[self._pattern['freq_relative_interval']],
'relative_weekday': SchedulePattern._relative_weekday
[self._pattern['freq_interval']],
'on_month': calendar.month_name[self._pattern['freq_recurrence_factor']]
}
return False
def active_start_date(self):
"""
gets the start date of the schedule
Returns: (str) -- date in %m/%d/%Y
"""
return SchedulePattern._time_converter(
self._pattern['active_start_date'], '%m/%d/%Y', False)
def active_end_date(self):
"""
gets the end date of the schedule if present
Returns: (str) -- date in %m/%d/%Y
"""
if "active_end_date" in self._pattern:
if self._pattern["active_end_date"]:
return SchedulePattern._time_converter(
self._pattern['active_end_date'], '%m/%d/%Y', False)
return False
def repeat_pattern(self):
"""
gets the repeat pattern in a schedule if present
Returns: (dict) -- the repeat pattern
{
"repeat_every": repeat_every,
"repeat_end": repeat_end
}
"""
if self._pattern.get("freq_subday_interval", 0):
_subday_interval = self._pattern["freq_subday_interval"]
repeat_every = "{0}:0{1}".format(int(_subday_interval / 3600), int(
((_subday_interval / 60) - ((_subday_interval / 3600) * 60))))
repeat_end = SchedulePattern._time_converter(
self._pattern["active_end_time"], "%H:%M", utc_to_epoch=False)
return {
"repeat_every": repeat_every,
"repeat_end": repeat_end
}
return False
def monthly(self):
"""
gets the monthly schedule
Returns: (dict) -- the schedule pattern
{
"active_start_time": time_in_%H/%S (str),
"repeat_months": months_to_repeat (int)
"on_day": Day to run schedule (int)
}
False: if schedule type is wrong
"""
if self.schedule_freq_type == 'Monthly':
return {
'active_start_time': SchedulePattern._time_converter(
self._pattern['active_start_time'],
'%H:%M',
False),
'repeat_months': self._pattern['freq_recurrence_factor'],
'on_day': self._pattern['freq_interval']}
return False
gets the one time schedule pattern
Returns:
(dict) The schedule pattern
{
"active_start_date": date_in_%m/%d/%y (str),
"active_start_time": time_in_%h:%m (str)
}
False: if schedule type is wrong
"""
if self.schedule_freq_type == 'One_Time':
return {
'active_start_date': SchedulePattern._time_converter(
self._pattern['active_start_date'],
'%m/%d/%Y', False),
'active_start_time': SchedulePattern._time_converter(
self._pattern['active_start_time'],
'%H:%M', False)
}
return False
def one_time(self):
"""
gets the one time schedule pattern
Returns:
(dict) The schedule pattern
{
"active_start_date": date_in_%m/%d/%y (str),
"active_start_time": time_in_%h:%m (str)
}
False: if schedule type is wrong
"""
if self.schedule_freq_type == 'One_Time':
return {
'active_start_date': SchedulePattern._time_converter(
self._pattern['active_start_date'],
'%m/%d/%Y', False),
'active_start_time': SchedulePattern._time_converter(
self._pattern['active_start_time'],
'%H:%M', False)
}
return False
def active_start_time(self):
"""
gets the start time of the schedule
Returns: (str) -- time in %H/%S
"""
return SchedulePattern._time_converter(
self._pattern['active_start_time'], '%H:%M', False)
def weekly(self):
"""
gets the weekly schedule
Returns (dict) -- The schedule pattern
{
"active_start_time": time_in_%H/%S (str),
"repeat_weeks": weeks_to_repeat (int)
"weekdays": list of weekdays ['Monday','Tuesday']
}
False: if schedule type is wrong
"""
if self.schedule_freq_type == 'Weekly':
_freq = self._pattern['freq_interval']
return {
'active_start_time': SchedulePattern._time_converter(
self._pattern['active_start_time'],
'%H:%M',
False),
'repeat_weeks': self._pattern['freq_recurrence_factor'],
'weekdays': [
SchedulePattern._days_to_run[x] for x in list(
SchedulePattern._days_to_run.keys()) if _freq & x > 0]}
return False