mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
python: Add database_find_message_by_filename bindings
Add it :-) Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
c83e3ee259
commit
2c76279cda
1 changed files with 20 additions and 2 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue