diff options
author | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2011-09-28 18:27:44 +0200 |
---|---|---|
committer | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2011-09-28 18:31:36 +0200 |
commit | 2c76279cdac96249ffcaa88456675c1cf4a2163d (patch) | |
tree | 3bb43645289579b6276083c4e83cc27422521db2 /bindings | |
parent | c83e3ee2599eea7ceffa0f89828752be63b96393 (diff) |
python: Add database_find_message_by_filename bindings
Add it :-)
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/python/notmuch/database.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/bindings/python/notmuch/database.py b/bindings/python/notmuch/database.py index dc124f5e..da1ed047 100644 --- a/bindings/python/notmuch/database.py +++ b/bindings/python/notmuch/database.py @@ -63,6 +63,10 @@ class Database(object): _find_message = nmlib.notmuch_database_find_message _find_message.restype = c_void_p + """notmuch_database_find_message_by_filename""" + _find_message_by_filename = nmlib.notmuch_database_find_message_by_filename + _find_message_by_filename.restype = c_void_p + """notmuch_database_get_all_tags""" _get_all_tags = nmlib.notmuch_database_get_all_tags _get_all_tags.restype = c_void_p @@ -291,7 +295,7 @@ class Database(object): STATUS.DUPLICATE_MESSAGE_ID Message has the same message ID as another message already in the database. The new filename was successfully added - to the message in the database. + to the list of the filenames for the existing message. :rtype: 2-tuple(:class:`Message`, STATUS) @@ -329,7 +333,7 @@ class Database(object): return (msg, status) def remove_message(self, filename): - """Removes a message from the given notmuch database + """Removes a message (filename) from the given notmuch database Note that only this particular filename association is removed from the database. If the same message (as determined by the message ID) @@ -387,6 +391,20 @@ class Database(object): msg_p = Database._find_message(self._db, _str(msgid)) return msg_p and Message(msg_p, self) or None + def find_message_by_filename(self, filename): + """Find a message with the given filename + + :returns: If the database contains a message with the given + filename, then a class:`Message:` is returned. This + function returns None in the following situations: + + * No message is found with the given filename + * An out-of-memory situation occurs + * A Xapian exception occurs""" + self._verify_initialized_db() + msg_p = Database._find_message_by_filename(self._db, _str(filename)) + return msg_p and Message(msg_p, self) or None + def get_all_tags(self): """Returns :class:`Tags` with a list of all tags found in the database |