aboutsummaryrefslogtreecommitdiffhomepage
path: root/bindings
diff options
context:
space:
mode:
authorGravatar Patrick Totzke <patricktotzke@gmail.com>2011-12-05 22:51:10 +0000
committerGravatar Sebastian Spaeth <Sebastian@SSpaeth.de>2011-12-06 13:27:08 +0100
commitffe3097e58220d96c7a18b1b6062330551378b82 (patch)
tree4fb9453f0643c2520ad71f8ba35eb030ff351b8b /bindings
parent2b0116119160f2dc8376a3570b23fd502328a521 (diff)
use __unicode__ for string representation
Diffstat (limited to 'bindings')
-rw-r--r--bindings/python/notmuch/filename.py3
-rw-r--r--bindings/python/notmuch/globals.py11
-rw-r--r--bindings/python/notmuch/message.py14
-rw-r--r--bindings/python/notmuch/tag.py5
4 files changed, 22 insertions, 11 deletions
diff --git a/bindings/python/notmuch/filename.py b/bindings/python/notmuch/filename.py
index 6b332a92..a7cd7e63 100644
--- a/bindings/python/notmuch/filename.py
+++ b/bindings/python/notmuch/filename.py
@@ -99,6 +99,9 @@ class Filenames(object):
self._files = None
def __str__(self):
+ return unicode(self).encode('utf-8')
+
+ def __unicode__(self):
"""Represent Filenames() as newline-separated list of full paths
.. note:: As this iterates over the filenames, we will not be
diff --git a/bindings/python/notmuch/globals.py b/bindings/python/notmuch/globals.py
index f69c73d4..54a49b2d 100644
--- a/bindings/python/notmuch/globals.py
+++ b/bindings/python/notmuch/globals.py
@@ -48,11 +48,11 @@ class Status(Enum):
@classmethod
def status2str(self, status):
- """Get a string representation of a notmuch_status_t value."""
+ """Get a (unicode) string representation of a notmuch_status_t value."""
# define strings for custom error messages
if status == STATUS.NOT_INITIALIZED:
- return "Operation on uninitialized object impossible."
- return str(Status._status2str(status))
+ return u"Operation on uninitialized object impossible."
+ return unicode(Status._status2str(status))
STATUS = Status(['SUCCESS',
'OUT_OF_MEMORY',
@@ -134,12 +134,15 @@ class NotmuchError(Exception):
self.message = message
def __str__(self):
+ return unicode(self).encode('utf-8')
+
+ def __unicode__(self):
if self.message is not None:
return self.message
elif self.status is not None:
return STATUS.status2str(self.status)
else:
- return 'Unknown error'
+ return u'Unknown error'
# List of Subclassed exceptions that correspond to STATUS values and are
diff --git a/bindings/python/notmuch/message.py b/bindings/python/notmuch/message.py
index 6ee5ec95..a9ded801 100644
--- a/bindings/python/notmuch/message.py
+++ b/bindings/python/notmuch/message.py
@@ -796,12 +796,14 @@ class Message(object):
return self.__str__()
def __str__(self):
- """A message() is represented by a 1-line summary"""
- msg = {}
- msg['from'] = self.get_header('from')
- msg['tags'] = self.get_tags()
- msg['date'] = date.fromtimestamp(self.get_date())
- return "%(from)s (%(date)s) (%(tags)s)" % (msg)
+ return unicode(self).encode('utf-8')
+
+ def __unicode__(self):
+ format = "%(from)s (%(date)s) (%(tags)s)"
+ return format % (self.get_header('from'),
+ self.get_tags(),
+ date.fromtimestamp(self.get_date()),
+ )
def get_message_parts(self):
"""Output like notmuch show"""
diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py
index a77b68d7..2fb7d328 100644
--- a/bindings/python/notmuch/tag.py
+++ b/bindings/python/notmuch/tag.py
@@ -111,7 +111,10 @@ class Tags(object):
return self._valid(self._tags) > 0
def __str__(self):
- """The str() representation of Tags() is a space separated list of tags
+ return unicode(self).encode('utf-8')
+
+ def __unicode__(self):
+ """string representation of :class:`Tags`: a space separated list of tags
.. note::