# HG changeset patch # User Paul Boddie # Date 1512948757 -3600 # Node ID 1faaf5e25d5e9526b312b13bc13311881771b527 # Parent 75e2141acfd9017a6896d2fdff0976170a1bca9e Added copying and comparison support to selectors. diff -r 75e2141acfd9 -r 1faaf5e25d5e vRecurrence.py --- a/vRecurrence.py Sat Dec 09 22:35:53 2017 +0100 +++ b/vRecurrence.py Mon Dec 11 00:32:37 2017 +0100 @@ -950,6 +950,17 @@ def set_values(self, values): self.args["values"] = values + # Copying and comparison support. + + def as_tuple(self): + return self.level, self.args, self.qualifier, self.selecting + + def copy(self): + return self.__class__(*self.as_tuple()) + + def __cmp__(self, other): + return cmp(self.as_tuple(), other and other.as_tuple()) + class Pattern(Selector): "A selector of time periods according to a repeating pattern." @@ -1003,6 +1014,11 @@ self.args["interval"] = interval self.update_step() + # Copying and comparison support. + + def as_tuple(self): + return self.level, self.args, self.qualifier, self.selecting, self.first + class Enum(Selector): "A generic value selector."