From dfd804bba247e10eea5e31b8b95132f0eae647ee Mon Sep 17 00:00:00 2001 From: Carl Meyer Date: Wed, 27 Jan 2010 23:37:31 -0500 Subject: [PATCH] added has_more property to SplitField --- model_utils/fields.py | 5 +++++ model_utils/tests/tests.py | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/model_utils/fields.py b/model_utils/fields.py index 1a49359..4b49133 100644 --- a/model_utils/fields.py +++ b/model_utils/fields.py @@ -70,6 +70,11 @@ class SplitText(object): return getattr(self.instance, self.excerpt_field_name) excerpt = property(_get_excerpt) + # has_more is a boolean property + def _get_has_more(self): + return self.excerpt.strip() != self.content.strip() + has_more = property(_get_has_more) + # allows display via templates without .content necessary def __unicode__(self): return self.content diff --git a/model_utils/tests/tests.py b/model_utils/tests/tests.py index 8cd11b6..8e18b3f 100644 --- a/model_utils/tests/tests.py +++ b/model_utils/tests/tests.py @@ -41,6 +41,14 @@ class SplitFieldTests(TestCase): def test_content(self): self.assertEquals(self.post.body.content, self.full_text) + def test_has_more(self): + self.failUnless(self.post.body.has_more) + + def test_not_has_more(self): + post = Article.objects.create(title='example 2', + body='some text\n\nsome more\n') + self.failIf(post.body.has_more) + def test_load_back(self): post = Article.objects.get(pk=self.post.pk) self.assertEquals(post.body.content, self.post.body.content)