# HG changeset patch # User Paul Boddie # Date 1512249531 -3600 # Node ID 84df5e763171c3392705b6b3edf5566ce74e9877 # Parent ae4c658838228a49e2bc7ea51bf9c12051e03967 Ensure that interval updates propagate correctly to the iterator. diff -r ae4c65883822 -r 84df5e763171 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):