1.1 --- a/vRecurrence.py Mon Oct 06 00:30:52 2014 +0200
1.2 +++ b/vRecurrence.py Mon Oct 06 13:38:32 2014 +0200
1.3 @@ -314,7 +314,7 @@
1.4 counter = count and [0, count]
1.5 results = self.materialise_items(self.context, start, end, counter)
1.6 results.sort()
1.7 - return results
1.8 + return results[:count]
1.9
1.10 def materialise_item(self, current, last, next, counter):
1.11 if counter is None or counter[0] < counter[1]:
1.12 @@ -393,7 +393,7 @@
1.13 else:
1.14 current = to_tuple(get_first_day(first_day, value) + offset, 3)
1.15
1.16 - if current < end and (counter is None or counter[0] < counter[1]):
1.17 + if current < end:
1.18 next = update(current, step)
1.19 results += self.materialise_item(current, max(current, start), min(next, end), counter)
1.20
1.21 @@ -406,7 +406,7 @@
1.22 direction = operator.add
1.23
1.24 while first_day <= current <= last_day:
1.25 - if current < end and (counter is None or counter[0] < counter[1]):
1.26 + if current < end:
1.27 next = update(current, step)
1.28 results += self.materialise_item(current, max(current, start), min(next, end), counter)
1.29 current = to_tuple(direction(date(*current), timedelta(7)), 3)
1.30 @@ -419,7 +419,7 @@
1.31 results = []
1.32 for value in self.args["values"]:
1.33 current = combine(context, scale(value, self.pos))
1.34 - if current < end and (counter is None or counter[0] < counter[1]):
1.35 + if current < end:
1.36 next = update(current, step)
1.37 results += self.materialise_item(current, max(current, start), min(next, end), counter)
1.38 return results
1.39 @@ -433,7 +433,7 @@
1.40 if value < 0:
1.41 value = last_day + 1 + value
1.42 current = combine(context, scale(value, self.pos))
1.43 - if current < end and (counter is None or counter[0] < counter[1]):
1.44 + if current < end:
1.45 next = update(current, step)
1.46 results += self.materialise_item(current, max(current, start), min(next, end), counter)
1.47 return results
1.48 @@ -449,7 +449,7 @@
1.49 if value < 0:
1.50 value = year_length + 1 + value
1.51 current = to_tuple(first_day + timedelta(value - 1), 3)
1.52 - if current < end and (counter is None or counter[0] < counter[1]):
1.53 + if current < end:
1.54 next = update(current, step)
1.55 results += self.materialise_item(current, max(current, start), min(next, end), counter)
1.56 return results