mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 13:44:12 +01:00
python: use wrapped notmuch_*_t types instead of raw pointers
Now that types are checked correctly, we also need to make sure that all the arguments actually are instances of these types. Otherwise the function calls will fail and raise an exception similar to this one: ctypes.ArgumentError: argument 3: <type 'exceptions.TypeError'>: expected LP_LP_NotmuchMessageS instance instead of pointer to c_void_p
This commit is contained in:
parent
672b6337b4
commit
71e0082eff
1 changed files with 4 additions and 3 deletions
|
@ -79,6 +79,7 @@ class Database(object):
|
|||
_open = nmlib.notmuch_database_open
|
||||
_open.argtypes = [c_char_p, c_uint]
|
||||
_open.restype = NotmuchDatabaseP
|
||||
#_open.restype = c_void_p
|
||||
|
||||
"""notmuch_database_upgrade"""
|
||||
_upgrade = nmlib.notmuch_database_upgrade
|
||||
|
@ -385,7 +386,7 @@ class Database(object):
|
|||
be added.
|
||||
"""
|
||||
self._assert_db_is_initialized()
|
||||
msg_p = c_void_p()
|
||||
msg_p = NotmuchMessageP()
|
||||
status = self._add_message(self._db, _str(filename), byref(msg_p))
|
||||
|
||||
if not status in [STATUS.SUCCESS, STATUS.DUPLICATE_MESSAGE_ID]:
|
||||
|
@ -453,7 +454,7 @@ class Database(object):
|
|||
the database was not intitialized.
|
||||
"""
|
||||
self._assert_db_is_initialized()
|
||||
msg_p = c_void_p()
|
||||
msg_p = NotmuchMessageP()
|
||||
status = Database._find_message(self._db, _str(msgid), byref(msg_p))
|
||||
if status != STATUS.SUCCESS:
|
||||
raise NotmuchError(status)
|
||||
|
@ -487,7 +488,7 @@ class Database(object):
|
|||
|
||||
*Added in notmuch 0.9*"""
|
||||
self._assert_db_is_initialized()
|
||||
msg_p = c_void_p()
|
||||
msg_p = NotmuchMessageP()
|
||||
status = Database._find_message_by_filename(self._db, _str(filename),
|
||||
byref(msg_p))
|
||||
if status != STATUS.SUCCESS:
|
||||
|
|
Loading…
Reference in a new issue