]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/python-cffi/notmuch2/_config.py
python config access: fix style and KeyError bug
[notmuch] / bindings / python-cffi / notmuch2 / _config.py
index 58383c16d586898ed4bdb4b9e43789b94907eddc..29de6495ecd7f0402de55ca4b551bddce33866e0 100644 (file)
@@ -4,9 +4,12 @@ import notmuch2._base as base
 import notmuch2._capi as capi
 import notmuch2._errors as errors
 
+
 __all__ = ['ConfigMapping']
 
+
 class ConfigIter(base.NotmuchIter):
+
     def __init__(self, parent, iter_p):
         super().__init__(
             parent, iter_p,
@@ -19,6 +22,7 @@ class ConfigIter(base.NotmuchIter):
         item = super().__next__()
         return base.BinString.from_cffi(item)
 
+
 class ConfigMapping(base.NotmuchObject, collections.abc.MutableMapping):
     """The config key/value pairs stored in the database.
 
@@ -50,11 +54,10 @@ class ConfigMapping(base.NotmuchObject, collections.abc.MutableMapping):
         ret = capi.lib.notmuch_database_get_config(self._ptr(), key, val_pp)
         if ret != capi.lib.NOTMUCH_STATUS_SUCCESS:
             raise errors.NotmuchError(ret)
-        if val_pp[0] == "":
-            capi.lib.free(val_pp[0])
-            raise KeyError
         val = base.BinString.from_cffi(val_pp[0])
         capi.lib.free(val_pp[0])
+        if val == '':
+            raise KeyError
         return val
 
     def __setitem__(self, key, val):