# (C) Copyright 2010 Sebastian Spaeth <Sebastian@SSpaeth.de>
# Jesse Rosenthal <jrosenthal@jhu.edu>
-from ctypes import c_char_p, c_void_p, c_long, c_bool
+from ctypes import c_char_p, c_void_p, c_long, c_uint
from datetime import date
from cnotmuch.globals import nmlib, STATUS, NotmuchError, Enum
from cnotmuch.tag import Tags
raise NotmuchError
next_indent = indent + 1
-
+ # get replies and print them also out (if there are any)
replies = msg.get_replies()
- # if isinstance(replies, types.NoneType):
- # break
if not replies is None:
sys.stdout.write(set_sep)
replies.print_messages(format, next_indent, entire_thread)
"""notmuch_message_get_flag"""
_get_flag = nmlib.notmuch_message_get_flag
- _get_flag.restype = c_bool
+ _get_flag.restype = c_uint
"""notmuch_message_get_message_id (notmuch_message_t *message)"""
_get_message_id = nmlib.notmuch_message_get_message_id
:param flag: One of the :attr:`Message.FLAG` values (currently only
*Message.FLAG.MATCH*
- :returns: A bool, indicating whether the flag is set.
+ :returns: An unsigned int (0/1), indicating whether the flag is set.
:exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
is not initialized.
"""
email_msg = email.message_from_file(fp)
fp.close()
- # A subfunction to recursively unpack the message parts into a
- # list.
- # def msg_unpacker_gen(msg):
- # if not msg.is_multipart():
- # yield msg
- # else:
- # for part in msg.get_payload():
- # for subpart in msg_unpacker_gen(part):
- # yield subpart
- #
- # return list(msg_unpacker_gen(email_msg))
out = []
for msg in email_msg.walk():
if not msg.is_multipart():
return out
def get_part(self, num):
+ """Returns the nth message body part"""
parts = self.get_message_parts()
if (num <= 0 or num > len(parts)):
return ""
elif (cont_type.lower() == "text/html" and
i == 0):
part_dict["content"] = msg.get_payload()
- body.append(part_dict)
+ body.append(part_dict)
output["body"] = body
output += "\n\fheader{"
#Todo: this date is supposed to be prettified, as in the index.
- output += "\n%s (%s) (" % (format["headers"]["from"],
- format["headers"]["date"])
+ output += "\n%s (%s) (" % (format["headers"]["From"],
+ format["headers"]["Date"])
output += ", ".join(format["tags"])
output += ")"
- output += "\nSubject: %s" % format["headers"]["subject"]
- output += "\nFrom: %s" % format["headers"]["from"]
- output += "\nTo: %s" % format["headers"]["to"]
- if format["headers"]["cc"]:
- output += "\nCc: %s" % format["headers"]["cc"]
- if format["headers"]["bcc"]:
- output += "\nBcc: %s" % format["headers"]["bcc"]
- output += "\nDate: %s" % format["headers"]["date"]
+ output += "\nSubject: %s" % format["headers"]["Subject"]
+ output += "\nFrom: %s" % format["headers"]["From"]
+ output += "\nTo: %s" % format["headers"]["To"]
+ if format["headers"]["Cc"]:
+ output += "\nCc: %s" % format["headers"]["Cc"]
+ if format["headers"]["Bcc"]:
+ output += "\nBcc: %s" % format["headers"]["Bcc"]
+ output += "\nDate: %s" % format["headers"]["Date"]
output += "\n\fheader}"
output += "\n\fbody{"
if not p.has_key("filename"):
output += "\n\fpart{ "
output += "ID: %d, Content-type: %s\n" % (p["id"],
- p["content_type"])
+ p["content-type"])
if p.has_key("content"):
output += "\n%s\n" % p["content"]
else:
- output += "Non-text part: %s\n" % p["content_type"]
+ output += "Non-text part: %s\n" % p["content-type"]
output += "\n\fpart}"
else:
output += "\n\fattachment{ "
output += "ID: %d, Content-type:%s\n" % (p["id"],
- p["content_type"])
+ p["content-type"])
output += "Attachment: %s\n" % p["filename"]
output += "\n\fattachment}\n"