diff --git a/calendar_utils/models.py b/calendar_utils/models.py index 849b2326da2f917dbbe0a6265c85f322b0a49fb6..83a8f1ef14d1c3359a5126014e762acfa8b2c269 100644 --- a/calendar_utils/models.py +++ b/calendar_utils/models.py @@ -42,16 +42,14 @@ class Calendar(models.Model): self.source = source past, future = process_ical(source) self.past_events = list(map(_convert_arrow_to_datetime, past)) - self.future_events = list(map(_convert_arrow_to_datetime, future)) + self.future_events = list( + reversed(list(map(_convert_arrow_to_datetime, future))) + ) self.last_update = arrow.utcnow().datetime self.save() def actual_events(self): - events = self.future_events[-self.ACTUAL_NUM :] - num = len(events) - if num < 6: - events += self.past_events[: self.ACTUAL_NUM - num] - return events + return self.future_events[-self.ACTUAL_NUM :] class CalendarMixin(models.Model): diff --git a/tests/calendar_utils/snapshots/snap_test_models.py b/tests/calendar_utils/snapshots/snap_test_models.py index f3d023a2c8961f498dda694aa7318c815f92c9bf..2113b073ee3a35fd755c819cb5085573d24cfc13 100644 --- a/tests/calendar_utils/snapshots/snap_test_models.py +++ b/tests/calendar_utils/snapshots/snap_test_models.py @@ -58,21 +58,21 @@ snapshots['test_calendar__update_source 1'] = [ snapshots['test_calendar__update_source 2'] = [ { 'all_day': False, - 'begin': GenericRepr('FakeDatetime(2020, 4, 8, 16, 0, tzinfo=tzutc())'), + 'begin': GenericRepr('FakeDatetime(2020, 2, 17, 17, 30, tzinfo=tzutc())'), 'description': '', - 'duration': '18:00 - 19:30', - 'end': GenericRepr('FakeDatetime(2020, 4, 8, 17, 30, tzinfo=tzutc())'), - 'location': 'Picolo - Pirátské centrum Olomouc, 8. května 522/5, 779 00 Olomouc, Česko', - 'name': 'Setkání s místopředsedou Evropského parlamentu Marcelem Kolalokou' + 'duration': '18:30 - 21:30', + 'end': GenericRepr('FakeDatetime(2020, 2, 17, 20, 30, tzinfo=tzutc())'), + 'location': 'Nebe počká, 20, Kratochvílova 122, Město, 750 02 Přerov, Česko', + 'name': 'Schůzka Piráti Přerov' }, { 'all_day': False, - 'begin': GenericRepr('FakeDatetime(2020, 3, 24, 17, 0, tzinfo=tzutc())'), - 'description': 'Přednáší MUDr. Marti Moron', - 'duration': '18:00 - 19:30', - 'end': GenericRepr('FakeDatetime(2020, 3, 24, 18, 30, tzinfo=tzutc())'), - 'location': '', - 'name': 'Je kouření stejně škodlivé jako vapování?' + 'begin': GenericRepr('FakeDatetime(2020, 2, 21, 17, 30, tzinfo=tzutc())'), + 'description': 'Tradiční páteční deskohraní s Karlem Bezejmeným. K zapůjčení budou deskové hry všeho druhu – a to jak jednoduché, tak náročnější pro ty,kteří se nebojí u hry strávit delší dobu. Všechny pravidla Vám budou vysvětlena. Nemusíte se bát.', + 'duration': '18:30 - 22:00', + 'end': GenericRepr('FakeDatetime(2020, 2, 21, 21, 0, tzinfo=tzutc())'), + 'location': 'Picolo - Pirátské centrum Olomouc, 8. května 522/5, 779 00 Olomouc, Česko', + 'name': 'Páteční deskovky v Picolu - Karel Bezejmenný' }, { 'all_day': False, @@ -87,20 +87,20 @@ Připojit se: https://meet.google.com/ahv-nrmw-kmp }, { 'all_day': False, - 'begin': GenericRepr('FakeDatetime(2020, 2, 21, 17, 30, tzinfo=tzutc())'), - 'description': 'Tradiční páteční deskohraní s Karlem Bezejmeným. K zapůjčení budou deskové hry všeho druhu – a to jak jednoduché, tak náročnější pro ty,kteří se nebojí u hry strávit delší dobu. Všechny pravidla Vám budou vysvětlena. Nemusíte se bát.', - 'duration': '18:30 - 22:00', - 'end': GenericRepr('FakeDatetime(2020, 2, 21, 21, 0, tzinfo=tzutc())'), - 'location': 'Picolo - Pirátské centrum Olomouc, 8. května 522/5, 779 00 Olomouc, Česko', - 'name': 'Páteční deskovky v Picolu - Karel Bezejmenný' + 'begin': GenericRepr('FakeDatetime(2020, 3, 24, 17, 0, tzinfo=tzutc())'), + 'description': 'Přednáší MUDr. Marti Moron', + 'duration': '18:00 - 19:30', + 'end': GenericRepr('FakeDatetime(2020, 3, 24, 18, 30, tzinfo=tzutc())'), + 'location': '', + 'name': 'Je kouření stejně škodlivé jako vapování?' }, { 'all_day': False, - 'begin': GenericRepr('FakeDatetime(2020, 2, 17, 17, 30, tzinfo=tzutc())'), + 'begin': GenericRepr('FakeDatetime(2020, 4, 8, 16, 0, tzinfo=tzutc())'), 'description': '', - 'duration': '18:30 - 21:30', - 'end': GenericRepr('FakeDatetime(2020, 2, 17, 20, 30, tzinfo=tzutc())'), - 'location': 'Nebe počká, 20, Kratochvílova 122, Město, 750 02 Přerov, Česko', - 'name': 'Schůzka Piráti Přerov' + 'duration': '18:00 - 19:30', + 'end': GenericRepr('FakeDatetime(2020, 4, 8, 17, 30, tzinfo=tzutc())'), + 'location': 'Picolo - Pirátské centrum Olomouc, 8. května 522/5, 779 00 Olomouc, Česko', + 'name': 'Setkání s místopředsedou Evropského parlamentu Marcelem Kolalokou' } ]