1.1 --- a/vRecurrence.py Sun Dec 03 01:16:48 2017 +0100
1.2 +++ b/vRecurrence.py Sun Dec 03 01:29:03 2017 +0100
1.3 @@ -292,7 +292,7 @@
1.4 return PositionSelector(None, args, "BYSETPOS")
1.5
1.6 elif qualifier == "COUNT":
1.7 - return LimitSelector(0, args, "COUNT")
1.8 + return LimitSelector(-2, args, "COUNT")
1.9
1.10 else:
1.11 return Pattern(freq[qualifier], args, qualifier)
1.12 @@ -301,7 +301,7 @@
1.13
1.14 "Return a copy of 'selectors' incorporating 'dt'."
1.15
1.16 - selectors = selectors + [StartSelector(0, {"start" : dt}, "DTSTART")]
1.17 + selectors = selectors + [StartSelector(-1, {"start" : dt}, "DTSTART")]
1.18 selectors.sort(key=selector_sort_key)
1.19 return selectors
1.20
1.21 @@ -327,25 +327,18 @@
1.22
1.23 "Produce a sort key for 'selector'."
1.24
1.25 - # Make DTSTART sort later than COUNT.
1.26 -
1.27 - if selector.qualifier == "COUNT":
1.28 - sublevel = 0
1.29 - elif selector.qualifier == "DTSTART":
1.30 - sublevel = 1
1.31 -
1.32 # Make BYSETPOS sort earlier than the enumeration it modifies.
1.33
1.34 - elif selector.qualifier == "BYSETPOS":
1.35 - sublevel = 2
1.36 + if selector.qualifier == "BYSETPOS":
1.37 + sublevel = 0
1.38
1.39 # Other BY... qualifiers sort earlier than selectors at the same resolution
1.40 # even though such things as "FREQ=HOURLY;BYHOUR=10" do not make much sense.
1.41
1.42 elif selector.qualifier.startswith("BY"):
1.43 - sublevel = 3
1.44 + sublevel = 1
1.45 else:
1.46 - sublevel = 4
1.47 + sublevel = 2
1.48
1.49 return (selector.level, sublevel)
1.50