]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/python/notmuch/database.py
python: remove a note stating wrong things about the memory management
[notmuch] / bindings / python / notmuch / database.py
index 0ac8b06a35f15c1965e3cf1e8d6c1bab7a3909c3..1db332fe333b0b83b79a3e6c004de8485d29ad63 100644 (file)
@@ -56,21 +56,14 @@ class Database(object):
 
     :class:`Database` objects implement the context manager protocol
     so you can use the :keyword:`with` statement to ensure that the
-    database is properly closed.
+    database is properly closed. See :meth:`close` for more
+    information.
 
     .. note::
 
         Any function in this class can and will throw an
         :exc:`NotInitializedError` if the database was not intitialized
         properly.
-
-    .. note::
-
-        Do remember that as soon as we tear down (e.g. via `del db`) this
-        object, all underlying derived objects such as queries, threads,
-        messages, tags etc will be freed by the underlying library as well.
-        Accessing these objects will lead to segfaults and other unexpected
-        behavior. See above for more details.
     """
     _std_db_path = None
     """Class attribute to cache user's default database"""
@@ -189,7 +182,7 @@ class Database(object):
         :raises: :exc:`NotmuchError` in case of any failure
                     (possibly after printing an error message on stderr).
         """
-        if self._db is not None:
+        if self._db:
             raise NotmuchError(message="Cannot create db, this Database() "
                                        "already has an open one.")
 
@@ -225,6 +218,13 @@ class Database(object):
     def close(self):
         '''
         Closes the notmuch database.
+
+        .. warning::
+
+            This function closes the notmuch database. From that point
+            on every method invoked on any object ever derived from
+            the closed database may cease to function and raise a
+            NotmuchError.
         '''
         if self._db:
             self._close(self._db)