From: Patrick Samson Date: Sun, 11 Mar 2012 17:45:15 +0000 (+0100) Subject: 'or_me' filter improvement X-Git-Tag: 1.2.0~3 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=aab17afffcb22e5b3becd25676e27a8acaee664e;p=django-postman.git 'or_me' filter improvement --- diff --git a/postman/models.py b/postman/models.py index 7170178..d1948a5 100644 --- a/postman/models.py +++ b/postman/models.py @@ -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() diff --git a/postman/templatetags/postman_tags.py b/postman/templatetags/postman_tags.py index e15d9a8..7c420dc 100644 --- a/postman/templatetags/postman_tags.py +++ b/postman/templatetags/postman_tags.py @@ -32,7 +32,11 @@ def or_me(value, arg): Typical usage: sender|or_me:user """ - return _('') 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 _('') if value == arg else value @register.filter def compact_date(value, arg):