def valid_daily_scheduler(config, config_context): """Daily scheduler, accepts a time of day and an optional list of days.""" schedule_config = config.value time_string, days = pad_sequence(schedule_config.split(), 2) time_string = time_string or '00:00:00' time_spec = config_utils.valid_time(time_string, config_context) days = config_utils.valid_string(days or "", config_context) def valid_day(day): if day not in CONVERT_DAYS_INT: raise ConfigError( "Unknown day %s at %s" % ( day, config_context.path, ) ) return CONVERT_DAYS_INT[day] original = "%s %s" % (time_string, days) weekdays = {valid_day(day) for day in days or ()} return ConfigDailyScheduler( original, time_spec.hour, time_spec.minute, time_spec.second, weekdays, jitter=config.jitter, )
def valid_daily_scheduler(config, config_context): """Daily scheduler, accepts a time of day and an optional list of days.""" schedule_config = config.value time_string, days = pad_sequence(schedule_config.split(), 2) time_string = time_string or '00:00:00' time_spec = config_utils.valid_time(time_string, config_context) days = config_utils.valid_string(days or "", config_context) def valid_day(day): if day not in CONVERT_DAYS_INT: raise ConfigError("Unknown day %s at %s" % ( day, config_context.path, )) return CONVERT_DAYS_INT[day] original = "%s %s" % (time_string, days) weekdays = {valid_day(day) for day in days or ()} return ConfigDailyScheduler( original, time_spec.hour, time_spec.minute, time_spec.second, weekdays, jitter=config.jitter, )
def valid_daily_scheduler(time_string, days, config_context): """Daily scheduler, accepts a time of day and an optional list of days.""" time_string = time_string or '00:00:00' time_spec = config_utils.valid_time(time_string, config_context) days = config_utils.valid_string(days or "", config_context) def valid_day(day): if day not in CONVERT_DAYS_INT: raise ConfigError("Unknown day %s at %s" % (day, config_context.path)) return CONVERT_DAYS_INT[day] original = "%s %s" % (time_string, days) weekdays = set(valid_day(day) for day in days or ()) return ConfigDailyScheduler(original, time_spec.hour, time_spec.minute, time_spec.second, weekdays)
def test_valid_time(self): time_spec = config_utils.valid_time("14:32", self.context) assert_equal(time_spec.hour, 14) assert_equal(time_spec.minute, 32) assert_equal(time_spec.second, 0)