Django Postman changelog
========================
-Version 2.1.1, December 2012
-----------------------------
-* Fix issue #21, a missing unicode/str encoding migration
-
Version 2.1.0, December 2012
----------------------------
* Make the app compatible with the new 'Custom Auth Model' feature of Django 1.5
+++ /dev/null
-"""
-A forwards compatibility module.
-
-Implements some features of Django 1.4 when the application is run with a lower version of Django:
-- text truncating
-"""
-
-from __future__ import unicode_literals
-
-from django.utils.functional import allow_lazy
-from django.utils.text import truncate_words
-
-class Truncator(object):
- "A simplified version of django.utils.text.Truncator"
- def __init__(self, text):
- self.text = text
-
- def words(self, num):
- s = truncate_words(self.text, num)
- if s.endswith(' ...'):
- s = s.replace(' ...', '...')
- return s
- words = allow_lazy(words)
from postman.future_1_5 import get_user_model
from django.core.exceptions import ValidationError
from django.db import models
-try:
- from django.utils.text import Truncator # Django 1.4
-except ImportError:
- from postman.future_1_4 import Truncator
+from django.utils.text import truncate_words
from django.utils.translation import ugettext, ugettext_lazy as _
try:
from django.utils.timezone import now # Django 1.4 aware datetimes
ordering = ['-sent_at', '-id']
def __unicode__(self):
- return "{0}>{1}:{2}".format(self.obfuscated_sender, self.obfuscated_recipient, Truncator(self.subject).words(5))
+ return "{0}>{1}:{2}".format(self.obfuscated_sender, self.obfuscated_recipient, truncate_words(self.subject,5))
@models.permalink
def get_absolute_url(self):
self.check_parties(m, s=self.user1, email=self.email )
self.check_parties(m, email=self.email, r=self.user2)
- def test_representation(self):
- "Test the message representation as text."
- m = Message(sender=self.user1, recipient=self.user2)
- m.subject = 'one two three four last'
- self.assertEqual(str(m), 'foo>bar:one two three four last')
- m.subject = 'one two three four last over'
- self.assertEqual(str(m), 'foo>bar:one two three four last...')
-
def test_status(self):
"Test status."
m = Message.objects.create(subject='s')