]> git.cworth.org Git - notmuch/commitdiff
lib: add NOTMUCH_STATUS_NO_DATABASE
authorDavid Bremner <david@tethera.net>
Tue, 23 Feb 2021 19:56:47 +0000 (15:56 -0400)
committerDavid Bremner <david@tethera.net>
Sat, 27 Mar 2021 12:26:14 +0000 (09:26 -0300)
This will allow more precise return values from various open related functions.

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

index f67b4de61001946f66f633ac1c91b2facd733ba7..f712b6c5e4243b00f95267d5b582ec3bb964cac6 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_NO_DATABASE,
         NOTMUCH_STATUS_DATABASE_EXISTS,
         NOTMUCH_STATUS_LAST_STATUS
     } notmuch_status_t;
index 65064d4eda470cf8f90a25bf38f0c75bf53ac62f..9301073ed7668836f74c68f1cc0f3503b772af46 100644 (file)
@@ -52,6 +52,8 @@ class NotmuchError(Exception):
                 IllegalArgumentError,
             capi.lib.NOTMUCH_STATUS_NO_CONFIG:
                 NoConfigError,
+            capi.lib.NOTMUCH_STATUS_NO_DATABASE:
+                NoDatabaseError,
             capi.lib.NOTMUCH_STATUS_DATABASE_EXISTS:
                 DatabaseExistsError,
         }
@@ -99,6 +101,7 @@ class UpgradeRequiredError(NotmuchError): pass
 class PathError(NotmuchError): pass
 class IllegalArgumentError(NotmuchError): pass
 class NoConfigError(NotmuchError): pass
+class NoDatabaseError(NotmuchError): pass
 class DatabaseExistsError(NotmuchError): pass
 
 class ObjectDestroyedError(NotmuchError):
index d2ccdd580b764189f700c8f5dd9b063e37a8560b..96458f6ff104a18ba28d59929b7597cf284feeec 100644 (file)
@@ -305,6 +305,8 @@ notmuch_status_to_string (notmuch_status_t status)
        return "Unknown crypto protocol";
     case NOTMUCH_STATUS_NO_CONFIG:
        return "No configuration file found";
+    case NOTMUCH_STATUS_NO_DATABASE:
+       return "No database found";
     case NOTMUCH_STATUS_DATABASE_EXISTS:
        return "Database exists, not recreated";
     default:
index 387f0c1efc2d31af963a03c53eecfee0b14ea940..10b1b0245b16d12b8caca6f0bb109a6cde3ba89a 100644 (file)
@@ -142,6 +142,7 @@ typedef enum _notmuch_private_status {
     NOTMUCH_PRIVATE_STATUS_FAILED_CRYPTO_CONTEXT_CREATION      = NOTMUCH_STATUS_FAILED_CRYPTO_CONTEXT_CREATION,
     NOTMUCH_PRIVATE_STATUS_UNKNOWN_CRYPTO_PROTOCOL             = NOTMUCH_STATUS_UNKNOWN_CRYPTO_PROTOCOL,
     NOTMUCH_PRIVATE_STATUS_NO_CONFIG                           = NOTMUCH_STATUS_NO_CONFIG,
+    NOTMUCH_PRIVATE_STATUS_NO_DATABASE                         = NOTMUCH_STATUS_NO_DATABASE,
     NOTMUCH_PRIVATE_STATUS_DATABASE_EXISTS                     = NOTMUCH_STATUS_DATABASE_EXISTS,
 
     /* Then add our own private values. */
index 2a013be05df34fcd4ad0c10947577464a46ca8ec..9ea05fc5cfcd8f6b1e873b0bac48feb328c95b13 100644 (file)
@@ -212,6 +212,10 @@ typedef enum _notmuch_status {
      * Unable to load a config file
      */
     NOTMUCH_STATUS_NO_CONFIG,
+    /**
+     * Unable to load a database
+     */
+    NOTMUCH_STATUS_NO_DATABASE,
     /**
      * Database exists, so not (re)-created
      */