# HG changeset patch # User Paul Boddie # Date 1512327050 -3600 # Node ID 9b6843537c2fbd0d56f838171a90973e2167512c # Parent d39a2232c73745df4def2baeb675d0288f868565 Make WeekDayFilter an Enum subclass, ensuring that such selectors can be wrapped with Pattern selectors where no frequency qualifier is given. diff -r d39a2232c737 -r 9b6843537c2f vRecurrence.py --- a/vRecurrence.py Sun Dec 03 19:19:14 2017 +0100 +++ b/vRecurrence.py Sun Dec 03 19:50:50 2017 +0100 @@ -955,7 +955,22 @@ self.args["interval"] = interval self.update_step() -class WeekDayFilter(Selector): +class Enum(Selector): + + "A generic value selector." + + def __init__(self, level, args, qualifier, selecting=None, first=False): + Selector.__init__(self, level, args, qualifier, selecting, first) + self.step = scale(1, level) + + def materialise_items(self, context, start, end, inclusive=False): + return EnumIterator(self, context, start, end, inclusive, self.step, + self.get_values()) + + def get_values(self, limit=None): + return sort_values(self.args["values"], limit) + +class WeekDayFilter(Enum): "A selector of instances specified in terms of day numbers." @@ -1007,21 +1022,6 @@ values.append(value) return values -class Enum(Selector): - - "A generic value selector." - - def __init__(self, level, args, qualifier, selecting=None, first=False): - Selector.__init__(self, level, args, qualifier, selecting, first) - self.step = scale(1, level) - - def materialise_items(self, context, start, end, inclusive=False): - return EnumIterator(self, context, start, end, inclusive, self.step, - self.get_values()) - - def get_values(self, limit=None): - return sort_values(self.args["values"], limit) - class MonthDayFilter(Enum): "A selector of month days."