def test_to_weekday_from_string(): assert recurrence.to_weekday("3") == recurrence.Weekday(3) with pytest.raises(ValueError): recurrence.to_weekday("7") assert recurrence.to_weekday("MO") == recurrence.Weekday(0) assert recurrence.to_weekday("mo") == recurrence.Weekday(0) assert recurrence.to_weekday("TU") == recurrence.Weekday(1) assert recurrence.to_weekday("Tu") == recurrence.Weekday(1) with pytest.raises(ValueError): recurrence.to_weekday("FOO") assert recurrence.to_weekday("-2TU") == recurrence.Weekday(1, -2) # We don't do any validation of the index assert recurrence.to_weekday("-7SU") == recurrence.Weekday(6, -7)
def to_rule_object(self, rule_model): rule_args = (rule_model.freq, ) rule_kwargs = { 'interval': rule_model.interval, 'wkst': rule_model.wkst, 'count': rule_model.count, 'until': pytz.utc.localize(rule_model.until), } for param in recurrence.Rule.byparams: if param == 'byday': # see recurrence.base docstrings about byday handling rule_kwargs[param] = (map( lambda v: recurrence.Weekday(*v), rule_model.params.filter(param=param).values_list( 'value', 'index')) or None) else: rule_kwargs[param] = (map( lambda v: v[0], rule_model.params.filter(param=param).values_list('value')) or None) return recurrence.Rule(*rule_args, **rule_kwargs)
def test_to_weekday_from_weekday(): day = recurrence.Weekday(4) assert recurrence.to_weekday(day) == day
def test_to_weekday_from_int(): assert recurrence.to_weekday(1) == recurrence.Weekday(1) with pytest.raises(ValueError): recurrence.to_weekday(7)
def test_to_weekday_from_dateutil_weekday(): day = weekday(1) assert recurrence.to_weekday(day) == recurrence.Weekday(1)