--- /dev/null
+Return-Path: <amdragon@mit.edu>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 542DE429E36\r
+ for <notmuch@notmuchmail.org>; Thu, 17 May 2012 21:13:59 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+ tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id ozEnhleAt8Jo for <notmuch@notmuchmail.org>;\r
+ Thu, 17 May 2012 21:13:58 -0700 (PDT)\r
+Received: from dmz-mailsec-scanner-1.mit.edu (DMZ-MAILSEC-SCANNER-1.MIT.EDU\r
+ [18.9.25.12])\r
+ by olra.theworths.org (Postfix) with ESMTP id 72D8B431E84\r
+ for <notmuch@notmuchmail.org>; Thu, 17 May 2012 21:13:53 -0700 (PDT)\r
+X-AuditID: 1209190c-b7fad6d000000920-fe-4fb5cc80b727\r
+Received: from mailhub-auth-1.mit.edu ( [18.9.21.35])\r
+ by dmz-mailsec-scanner-1.mit.edu (Symantec Messaging Gateway) with SMTP\r
+ id 08.1D.02336.08CC5BF4; Fri, 18 May 2012 00:13:52 -0400 (EDT)\r
+Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103])\r
+ by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id q4I4DqXm029946; \r
+ Fri, 18 May 2012 00:13:52 -0400\r
+Received: from drake.mit.edu\r
+ (209-6-116-242.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com\r
+ [209.6.116.242]) (authenticated bits=0)\r
+ (User authenticated as amdragon@ATHENA.MIT.EDU)\r
+ by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q4I4DpO9026793\r
+ (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT);\r
+ Fri, 18 May 2012 00:13:52 -0400 (EDT)\r
+Received: from amthrax by drake.mit.edu with local (Exim 4.77)\r
+ (envelope-from <amdragon@mit.edu>)\r
+ id 1SVEZb-0000zI-1z; Fri, 18 May 2012 00:13:51 -0400\r
+From: Austin Clements <amdragon@MIT.EDU>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 8/9] python: Remove find_message_by_filename workaround\r
+Date: Fri, 18 May 2012 00:13:41 -0400\r
+Message-Id: <1337314423-3702-9-git-send-email-amdragon@mit.edu>\r
+X-Mailer: git-send-email 1.7.10\r
+In-Reply-To: <1337314423-3702-1-git-send-email-amdragon@mit.edu>\r
+References: <1337314423-3702-1-git-send-email-amdragon@mit.edu>\r
+X-Brightmail-Tracker:\r
+ H4sIAAAAAAAAA+NgFlrPIsWRmVeSWpSXmKPExsUixCmqrNtwZqu/wadzphbXb85kdmD0eLbq\r
+ FnMAYxSXTUpqTmZZapG+XQJXRkNfC0vBYoGKKcs+szUwzubpYuTgkBAwkZh9KK6LkRPIFJO4\r
+ cG89WxcjF4eQwD5GiYv/TzBCOBsYJdrWb2EBqRISuM8kcX5NKIQ9i1Hi/qxCEJtNQENi2/7l\r
+ jCC2iIC0xM67s1lBFjALqEn86VIBCQsLuEt8ePCADcRmEVCVaNw4mxnE5hWwl1g97SwbxBHy\r
+ Ek/v97GBtHIKOEhMOx4Nscle4t+FZpYJjPwLGBlWMcqm5Fbp5iZm5hSnJusWJyfm5aUW6Rrq\r
+ 5WaW6KWmlG5iBIeLJM8OxjcHlQ4xCnAwKvHw7piz1V+INbGsuDL3EKMkB5OSKO/3k0AhvqT8\r
+ lMqMxOKM+KLSnNTiQ4wSHMxKIryy3UA53pTEyqrUonyYlDQHi5I4r4rWOz8hgfTEktTs1NSC\r
+ 1CKYrAwHh5IE79vTQI2CRanpqRVpmTklCGkmDk6Q4Twgw8+ADC8uSMwtzkyHyJ9iVJQS5/0B\r
+ 0iwAksgozYPrhcXzK0ZxoFeEeTlA2nmAqQCu+xXQYCagwWW5m0AGlyQipKQaGHseSJWetrN/\r
+ c+LrGmZZLu2dH79u3ft0H38bn+OLgAzNQtNHTQe83nte5ln/yOb5IiPWQImLn4IXvQ413fpA\r
+ cuc5lt7eaXdNe64vP8t8/vL0uiP6BX3pN+dXX7xS/UI0eeq9gHr906uf9N7b16R0oeaW4Y4f\r
+ pw1CPrX+9jSc8YV/1qJlHx3VmW2VWIozEg21mIuKEwFw+V1+wgIAAA==\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 18 May 2012 04:13:59 -0000\r
+\r
+Now that notmuch_database_find_message_by_filename works on read-only\r
+databases, remove the workaround that disabled it on read-write\r
+databases.\r
+\r
+This also adds a regression test for find_message_by_filename.\r
+---\r
+ bindings/python/notmuch/database.py | 9 ---------\r
+ test/python | 8 ++++++++\r
+ 2 files changed, 8 insertions(+), 9 deletions(-)\r
+\r
+diff --git a/bindings/python/notmuch/database.py b/bindings/python/notmuch/database.py\r
+index ff89818..e5c74cf 100644\r
+--- a/bindings/python/notmuch/database.py\r
++++ b/bindings/python/notmuch/database.py\r
+@@ -526,19 +526,10 @@ class Database(object):\r
+ retry.\r
+ :raises: :exc:`NotInitializedError` if the database was not\r
+ intitialized.\r
+- :raises: :exc:`ReadOnlyDatabaseError` if the database has not been\r
+- opened in read-write mode\r
+ \r
+ *Added in notmuch 0.9*"""\r
+ self._assert_db_is_initialized()\r
+ \r
+- # work around libnotmuch calling exit(3), see\r
+- # id:20120221002921.8534.57091@thinkbox.jade-hamburg.de\r
+- # TODO: remove once this issue is resolved\r
+- if self.mode != Database.MODE.READ_WRITE:\r
+- raise ReadOnlyDatabaseError('The database has to be opened in '\r
+- 'read-write mode for get_directory')\r
+-\r
+ msg_p = NotmuchMessageP()\r
+ status = Database._find_message_by_filename(self._db, _str(filename),\r
+ byref(msg_p))\r
+diff --git a/test/python b/test/python\r
+index 6018c2d..3f03a2e 100755\r
+--- a/test/python\r
++++ b/test/python\r
+@@ -28,4 +28,12 @@ EOF\r
+ notmuch search --sort=oldest-first --output=messages tag:inbox | sed s/^id:// > EXPECTED\r
+ test_expect_equal_file OUTPUT EXPECTED\r
+ \r
++test_begin_subtest "get non-existent file"\r
++test_python <<EOF\r
++import notmuch\r
++db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY)\r
++print db.find_message_by_filename("i-dont-exist")\r
++EOF\r
++test_expect_equal "$(cat OUTPUT)" "None"\r
++\r
+ test_done\r
+-- \r
+1.7.10\r
+\r