From 4887293d2b45f0b78126c5f9949633b8a4807eb0 Mon Sep 17 00:00:00 2001 From: Fred Date: Sun, 7 Aug 2016 21:35:56 +0200 Subject: [PATCH] return None on IndexOutOfRange --- src/sherlock/models.py | 10 ++++++++-- src/sherlock/tests.py | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sherlock/models.py b/src/sherlock/models.py index d504e1e..582d674 100644 --- a/src/sherlock/models.py +++ b/src/sherlock/models.py @@ -41,8 +41,14 @@ class Mesure(models.Model): @property def previous(self): - return self.gauge.mesures.filter(moment__lt=self.moment).order_by('-moment')[0] + try: + return self.gauge.mesures.filter(moment__lt=self.moment).order_by('-moment')[0] + except IndexError: + return None @property def next(self): - return self.gauge.mesures.filter(moment__gt=self.moment).order_by('moment')[0] \ No newline at end of file + try: + return self.gauge.mesures.filter(moment__gt=self.moment).order_by('moment')[0] + except IndexError: + return None \ No newline at end of file diff --git a/src/sherlock/tests.py b/src/sherlock/tests.py index 114c187..7a86deb 100644 --- a/src/sherlock/tests.py +++ b/src/sherlock/tests.py @@ -74,7 +74,9 @@ class TestMesureModel(TestCase): def test_previous(self): self.assertEqual(self.mesure_1, self.mesure_3.previous) + self.assertIsNone(self.mesure_1.previous) def test_next(self): self.assertEqual(self.mesure_3, self.mesure_1.next) + self.assertIsNone(self.mesure_3.next)