]> git.cworth.org Git - notmuch/commitdiff
lib: add NOTMUCH_STATUS_DATABASE_EXISTS
authorDavid Bremner <david@tethera.net>
Sun, 3 Jan 2021 12:50:12 +0000 (08:50 -0400)
committerDavid Bremner <david@tethera.net>
Sat, 6 Feb 2021 23:46:46 +0000 (19:46 -0400)
It is desirable to distinguish between attempting to create a database
that already exists, and more fatal errors like permission problems.

bindings/python-cffi/notmuch2/_build.py
bindings/python-cffi/notmuch2/_errors.py
lib/notmuch.h

index 938286271f7e8bc665e2d4db38ed27b153f70b0d..f67b4de61001946f66f633ac1c91b2facd733ba7 100644 (file)
@@ -51,6 +51,7 @@ ffibuilder.cdef(
         NOTMUCH_STATUS_FAILED_CRYPTO_CONTEXT_CREATION,
         NOTMUCH_STATUS_UNKNOWN_CRYPTO_PROTOCOL,
         NOTMUCH_STATUS_NO_CONFIG,
         NOTMUCH_STATUS_FAILED_CRYPTO_CONTEXT_CREATION,
         NOTMUCH_STATUS_UNKNOWN_CRYPTO_PROTOCOL,
         NOTMUCH_STATUS_NO_CONFIG,
+        NOTMUCH_STATUS_DATABASE_EXISTS,
         NOTMUCH_STATUS_LAST_STATUS
     } notmuch_status_t;
     typedef enum {
         NOTMUCH_STATUS_LAST_STATUS
     } notmuch_status_t;
     typedef enum {
index c97d99cbde5fa9fac4e9c159b5c51dd3702ff6c8..65064d4eda470cf8f90a25bf38f0c75bf53ac62f 100644 (file)
@@ -52,6 +52,8 @@ class NotmuchError(Exception):
                 IllegalArgumentError,
             capi.lib.NOTMUCH_STATUS_NO_CONFIG:
                 NoConfigError,
                 IllegalArgumentError,
             capi.lib.NOTMUCH_STATUS_NO_CONFIG:
                 NoConfigError,
+            capi.lib.NOTMUCH_STATUS_DATABASE_EXISTS:
+                DatabaseExistsError,
         }
         return types[status]
 
         }
         return types[status]
 
@@ -97,6 +99,7 @@ class UpgradeRequiredError(NotmuchError): pass
 class PathError(NotmuchError): pass
 class IllegalArgumentError(NotmuchError): pass
 class NoConfigError(NotmuchError): pass
 class PathError(NotmuchError): pass
 class IllegalArgumentError(NotmuchError): pass
 class NoConfigError(NotmuchError): pass
+class DatabaseExistsError(NotmuchError): pass
 
 class ObjectDestroyedError(NotmuchError):
     """The object has already been destroyed and it's memory freed.
 
 class ObjectDestroyedError(NotmuchError):
     """The object has already been destroyed and it's memory freed.
index 4f384e58881faa7f1a0bc08a40550f45585ac808..6d22d328ce1b57f1b04ee445aaa2e44d9efb54e6 100644 (file)
@@ -212,6 +212,10 @@ typedef enum _notmuch_status {
      * Unable to load a config file
      */
     NOTMUCH_STATUS_NO_CONFIG,
      * Unable to load a config file
      */
     NOTMUCH_STATUS_NO_CONFIG,
+    /**
+     * Database exists, so not (re)-created
+     */
+    NOTMUCH_STATUS_DATABASE_EXISTS,
     /**
      * Not an actual status value. Just a way to find out how many
      * valid status values there are.
     /**
      * Not an actual status value. Just a way to find out how many
      * valid status values there are.