from ctypes import c_char_p, c_void_p, c_long, c_uint, c_int
from datetime import date
-from notmuch.globals import nmlib, STATUS, NotmuchError, Enum
+from notmuch.globals import nmlib, STATUS, NotmuchError, Enum, _str
from notmuch.tag import Tags
from notmuch.filename import Filenames
import sys
the Python object.(?)
"""
if msgs_p is None:
- NotmuchError(STATUS.NULL_POINTER)
+ raise NotmuchError(STATUS.NULL_POINTER)
self._msgs = msgs_p
#store parent, so we keep them alive as long as self is alive
set_end = "]"
set_sep = ", "
else:
- raise Exception
+ raise TypeError("format must be either 'text' or 'json'")
first_set = True
if (match or entire_thread):
if format.lower() == "text":
sys.stdout.write(msg.format_message_as_text(indent))
- elif format.lower() == "json":
- sys.stdout.write(msg.format_message_as_json(indent))
else:
- raise NotmuchError
+ sys.stdout.write(msg.format_message_as_json(indent))
next_indent = indent + 1
# get replies and print them also out (if there are any)
objects are dead.
"""
if msg_p is None:
- NotmuchError(STATUS.NULL_POINTER)
+ raise NotmuchError(STATUS.NULL_POINTER)
self._msg = msg_p
#keep reference to parent, so we keep it alive
self._parent = parent
header = Message._get_header(self._msg, header)
if header == None:
raise NotmuchError(STATUS.NULL_POINTER)
- return header
+ return header.decode('UTF-8')
def get_filename(self):
"""Returns the file path of the message file
if self._msg is None:
raise NotmuchError(STATUS.NOT_INITIALIZED)
- status = nmlib.notmuch_message_add_tag(self._msg, tag)
+ status = nmlib.notmuch_message_add_tag(self._msg, _str(tag))
# bail out on failure
if status != STATUS.SUCCESS:
if self._msg is None:
raise NotmuchError(STATUS.NOT_INITIALIZED)
- status = nmlib.notmuch_message_remove_tag(self._msg, tag)
+ status = nmlib.notmuch_message_remove_tag(self._msg, _str(tag))
# bail out on error
if status != STATUS.SUCCESS:
raise NotmuchError(status)
"""A message() is represented by a 1-line summary"""
msg = {}
msg['from'] = self.get_header('from')
- msg['tags'] = str(self.get_tags())
+ msg['tags'] = self.get_tags()
msg['date'] = date.fromtimestamp(self.get_date())
return "%(from)s (%(date)s) (%(tags)s)" % (msg)