python: have docs reflect current return value behavior
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Sun, 16 May 2010 22:56:27 +0000 (15:56 -0700)
committerSebastian Spaeth <Sebastian@SSpaeth.de>
Tue, 18 May 2010 18:11:59 +0000 (11:11 -0700)
Database.find_message() used to be able to reliably indicate whether a
message exists or not (in which case it returns None). However, the
recent API change of the notmuch library means we will return None
even for all Xapian exceptions, which happens e.g. when the current
Database has been modified by another project. Therefore the return
value of None cannot be reliably be used to indicate whether a message
exists or not. Make the docs state that explicitely.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
bindings/python/notmuch/database.py

index fc7edf0b57f572007f726eacd1ef5586e91a655a..7f0091de583044b91d696f5646a15075a69c1d88 100644 (file)
@@ -358,8 +358,14 @@ class Database(object):
 
         :param msgid: The message ID
         :type msgid: string
-        :returns: :class:`Message` or `None` if no message is found or if an
-                  out-of-memory situation occurs.
+        :returns: :class:`Message` or `None` if no message is found or
+                  if any xapian exception or out-of-memory situation
+                  occurs. Do note that Xapian Exceptions include
+                  "Database modified" situations, e.g. when the
+                  notmuch database has been modified by
+                  another program in the meantime. A return value of 
+                  `None` is therefore no guarantee that the message 
+                  does not exist.
         :exception: :exc:`NotmuchError` with STATUS.NOT_INITIALIZED if
                   the database was not intitialized.
         """