# HG changeset patch # User Paul Boddie # Date 1512249531 -3600 # Node ID 89bd11dc92d3b9c4c8547a0227285b14fbb1055f # Parent 4a33f1cb48ac5b83f21e7b7ee72a223eb2d1932e Ensure that interval updates propagate correctly to the iterator. diff -r 4a33f1cb48ac -r 89bd11dc92d3 vRecurrence.py --- a/vRecurrence.py Sat Dec 02 20:15:20 2017 +0100 +++ b/vRecurrence.py Sat Dec 02 22:18:51 2017 +0100 @@ -891,17 +891,20 @@ def __init__(self, level, args, qualifier, selecting=None, first=False): Selector.__init__(self, level, args, qualifier, selecting, first) - multiple = get_multiple(self.qualifier) - interval = self.get_interval() - - # Define the step between result periods. - - self.step = scale(interval * multiple, level) # Define the scale of a single period. self.unit_step = scale(multiple, level) + self.update_step() + + def update_step(self): + + "Update the step between result periods." + + multiple = get_multiple(self.qualifier) + interval = self.get_interval() + self.step = scale(interval * multiple, self.level) def materialise_items(self, context, start, end, inclusive=False): @@ -932,6 +935,7 @@ def set_interval(self, interval): self.args["interval"] = interval + self.update_step() class WeekDayFilter(Selector):