]> git.notmuchmail.org Git - notmuch/blobdiff - cnotmuch/message.py
database.py: also need to import Message
[notmuch] / cnotmuch / message.py
index f98f78792009d11d6c0397e8c8407a63b8b69d77..0e5057f42751310094626e8bd63171f9ff64dce7 100644 (file)
@@ -16,7 +16,7 @@
 #    (C) Copyright 2010 Sebastian Spaeth <Sebastian@SSpaeth.de>
 #                       Jesse Rosenthal <jrosenthal@jhu.edu>
         
 #    (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
 from datetime import date
 from cnotmuch.globals import nmlib, STATUS, NotmuchError, Enum
 from cnotmuch.tag import Tags
@@ -221,10 +221,8 @@ class Messages(object):
                     raise NotmuchError
                 next_indent = indent + 1
 
                     raise NotmuchError
                 next_indent = indent + 1
 
-
+            # get replies and print them also out (if there are any)
             replies = msg.get_replies()
             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)
             if not replies is None:
                 sys.stdout.write(set_sep)
                 replies.print_messages(format, next_indent, entire_thread)
@@ -245,7 +243,7 @@ class Message(object):
 
     """notmuch_message_get_flag"""
     _get_flag = nmlib.notmuch_message_get_flag
 
     """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
 
     """notmuch_message_get_message_id (notmuch_message_t *message)"""
     _get_message_id = nmlib.notmuch_message_get_message_id
@@ -408,7 +406,7 @@ class Message(object):
 
         :param flag: One of the :attr:`Message.FLAG` values (currently only 
                      *Message.FLAG.MATCH*
 
         :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.
         """
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message 
               is not initialized.
         """
@@ -651,17 +649,6 @@ class Message(object):
         email_msg = email.message_from_file(fp)
         fp.close()
 
         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():
         out = []
         for msg in email_msg.walk():
             if not msg.is_multipart():
@@ -669,6 +656,7 @@ class Message(object):
         return out
 
     def get_part(self, num):
         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 ""
         parts = self.get_message_parts()
         if (num <= 0 or num > len(parts)):
             return ""
@@ -717,7 +705,7 @@ class Message(object):
                 elif (cont_type.lower() == "text/html" and 
                       i == 0):
                     part_dict["content"] = msg.get_payload()
                 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["body"] = body
 
@@ -739,19 +727,19 @@ class Message(object):
         output += "\n\fheader{"
 
         #Todo: this date is supposed to be prettified, as in the index.
         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 += ", ".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{"
         output += "\n\fheader}"
 
         output += "\n\fbody{"
@@ -762,16 +750,16 @@ class Message(object):
             if not p.has_key("filename"):
                 output += "\n\fpart{ "
                 output += "ID: %d, Content-type: %s\n" % (p["id"], 
             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:
                 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"], 
                     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"
 
                 output += "Attachment: %s\n" % p["filename"]
                 output += "\n\fattachment}\n"