]> git.parisson.com Git - django-postman.git/commitdiff
'or_me' filter improvement
authorPatrick Samson <pk.samson@gmail.com>
Sun, 11 Mar 2012 17:45:15 +0000 (18:45 +0100)
committerPatrick Samson <pk.samson@gmail.com>
Sun, 11 Mar 2012 17:45:15 +0000 (18:45 +0100)
postman/models.py
postman/templatetags/postman_tags.py

index 717017881e45ef808674675494353e45e0aa5770..d1948a5a6af96294a8f5d83bf7bd77f7e7c38095 100644 (file)
@@ -267,7 +267,7 @@ class Message(models.Model):
         shrunken_digest = '..'.join((digest[:4], digest[-4:])) # 32 characters is too long and is useless
         bits = email.split('@')
         if len(bits) <> 2:
-            return ''
+            return u''
         domain = bits[1]
         return '@'.join((shrunken_digest, domain.rsplit('.',1)[0])) # leave off the TLD to gain some space
 
@@ -291,7 +291,7 @@ class Message(models.Model):
     def obfuscated_sender(self):
         """Return the sender either as a username or as an undisclosed email."""
         if self.sender:
-            return str(self.sender)
+            return unicode(self.sender)
         else:
             return self._obfuscated_email()
 
@@ -315,7 +315,7 @@ class Message(models.Model):
     def obfuscated_recipient(self):
         """Return the recipient either as a username or as an undisclosed email."""
         if self.recipient:
-            return str(self.recipient)
+            return unicode(self.recipient)
         else:
             return self._obfuscated_email()
 
index e15d9a8b8aea38489fed0030c09eca90556ca5ab..7c420dcf00093cfc4796acc770b17e5a86c9f995 100644 (file)
@@ -32,7 +32,11 @@ def or_me(value, arg):
     Typical usage: sender|or_me:user
 
     """
-    return _('<me>') if str(value) == str(arg) else value
+    if not isinstance(value, (unicode, str)):
+        value = unicode(value)
+    if not isinstance(arg, (unicode, str)):
+        arg = unicode(arg)
+    return _('<me>') if value == arg else value
 
 @register.filter
 def compact_date(value, arg):