unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Austin Clements <amdragon@MIT.EDU>
To: notmuch@notmuchmail.org
Subject: [PATCH v2 4/6] python: Update Python bindings for new notmuch_database_{open, create} signatures
Date: Mon, 30 Apr 2012 12:25:36 -0400	[thread overview]
Message-ID: <1335803138-24024-5-git-send-email-amdragon@mit.edu> (raw)
In-Reply-To: <1335803138-24024-1-git-send-email-amdragon@mit.edu>

---
 bindings/python/notmuch/database.py |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/bindings/python/notmuch/database.py b/bindings/python/notmuch/database.py
index 268e952..adc0a3f 100644
--- a/bindings/python/notmuch/database.py
+++ b/bindings/python/notmuch/database.py
@@ -95,8 +95,8 @@ class Database(object):
 
     """notmuch_database_open"""
     _open = nmlib.notmuch_database_open
-    _open.argtypes = [c_char_p, c_uint]
-    _open.restype = NotmuchDatabaseP
+    _open.argtypes = [c_char_p, c_uint, POINTER(NotmuchDatabaseP)]
+    _open.restype = c_uint
 
     """notmuch_database_upgrade"""
     _upgrade = nmlib.notmuch_database_upgrade
@@ -122,8 +122,8 @@ class Database(object):
 
     """notmuch_database_create"""
     _create = nmlib.notmuch_database_create
-    _create.argtypes = [c_char_p]
-    _create.restype = NotmuchDatabaseP
+    _create.argtypes = [c_char_p, POINTER(NotmuchDatabaseP)]
+    _create.restype = c_uint
 
     def __init__(self, path = None, create = False,
                  mode = MODE.READ_ONLY):
@@ -193,12 +193,13 @@ class Database(object):
             raise NotmuchError(message="Cannot create db, this Database() "
                                        "already has an open one.")
 
-        res = Database._create(_str(path), Database.MODE.READ_WRITE)
+        db = NotmuchDatabaseP()
+        status = Database._create(_str(path), Database.MODE.READ_WRITE, byref(db))
 
-        if not res:
-            raise NotmuchError(
-                message="Could not create the specified database")
-        self._db = res
+        if status != STATUS.SUCCESS:
+            raise NotmuchError(status)
+        self._db = db
+        return status
 
     def open(self, path, mode=0):
         """Opens an existing database
@@ -212,11 +213,13 @@ class Database(object):
         :raises: Raises :exc:`NotmuchError` in case of any failure
                     (possibly after printing an error message on stderr).
         """
-        res = Database._open(_str(path), mode)
+        db = NotmuchDatabaseP()
+        status = Database._open(_str(path), mode, byref(db))
 
-        if not res:
-            raise NotmuchError(message="Could not open the specified database")
-        self._db = res
+        if status != STATUS.SUCCESS:
+            raise NotmuchError(status)
+        self._db = db
+        return status
 
     _close = nmlib.notmuch_database_close
     _close.argtypes = [NotmuchDatabaseP]
-- 
1.7.9.1

  parent reply	other threads:[~2012-04-30 16:25 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-28 22:17 [PATCH 0/6] Make notmuch_database_{open,create} return status codes Austin Clements
2012-04-28 22:17 ` [PATCH 1/6] lib/cli: Make notmuch_database_open return a status code Austin Clements
2012-04-30 11:39   ` David Bremner
2012-04-30 16:15     ` Austin Clements
2012-04-28 22:17 ` [PATCH 2/6] lib/cli: Make notmuch_database_create " Austin Clements
2012-04-28 22:17 ` [PATCH 3/6] go: Update Go bindings for new notmuch_database_{open, create} signatures Austin Clements
2012-04-28 22:17 ` [PATCH 4/6] python: Update Python " Austin Clements
2012-04-28 22:17 ` [PATCH 5/6] ruby: Update Ruby " Austin Clements
2012-04-28 22:17 ` [PATCH 6/6] News for changes to notmuch_database_{open,create} Austin Clements
2012-04-29 11:23 ` [PATCH 0/6] Make notmuch_database_{open, create} return status codes Justus Winter
2012-04-30 16:25 ` [PATCH v2 " Austin Clements
2012-04-30 16:25   ` [PATCH v2 1/6] lib/cli: Make notmuch_database_open return a status code Austin Clements
2012-05-05 23:21     ` David Bremner
2012-04-30 16:25   ` [PATCH v2 2/6] lib/cli: Make notmuch_database_create " Austin Clements
2012-04-30 16:25   ` [PATCH v2 3/6] go: Update Go bindings for new notmuch_database_{open, create} signatures Austin Clements
2012-04-30 16:25   ` Austin Clements [this message]
2012-04-30 16:25   ` [PATCH v2 5/6] ruby: Update Ruby " Austin Clements
2012-04-30 16:25   ` [PATCH v2 6/6] News for changes to notmuch_database_{open,create} Austin Clements
2012-05-02 19:08   ` [PATCH v2 0/6] Make notmuch_database_{open, create} return status codes Tomi Ollila
2012-05-03  0:23     ` Austin Clements

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1335803138-24024-5-git-send-email-amdragon@mit.edu \
    --to=amdragon@mit.edu \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).