Re: [notmuch] Using notmuch from Ruby, Python, et al.
authorScott Robinson <scott@quadhome.com>
Wed, 25 Nov 2009 17:40:56 +0000 (09:40 +1600)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:35:42 +0000 (09:35 -0800)
79/91b5d52983453d45db82247110a5ff7ed00c40 [new file with mode: 0644]

diff --git a/79/91b5d52983453d45db82247110a5ff7ed00c40 b/79/91b5d52983453d45db82247110a5ff7ed00c40
new file mode 100644 (file)
index 0000000..b6bf4cd
--- /dev/null
@@ -0,0 +1,195 @@
+Return-Path: <scott@quadhome.com>\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 EB131431FBC\r
+       for <notmuch@notmuchmail.org>; Wed, 25 Nov 2009 09:41:50 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\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 p6+jd6i2dKSo for <notmuch@notmuchmail.org>;\r
+       Wed, 25 Nov 2009 09:41:44 -0800 (PST)\r
+X-Greylist: delayed 5087 seconds by postgrey-1.32 at olra;\r
+       Wed, 25 Nov 2009 09:41:44 PST\r
+Received: from megan.quadhome.com (megan.quadhome.com [209.9.237.126])\r
+       by olra.theworths.org (Postfix) with ESMTP id 2ACC8431FAE\r
+       for <notmuch@notmuchmail.org>; Wed, 25 Nov 2009 09:41:44 -0800 (PST)\r
+Received: from elise.quadhome.com (97-126-47-108.tukw.qwest.net\r
+       [97.126.47.108])\r
+       by megan.quadhome.com (Postfix) with ESMTPSA id 51D52B8032;\r
+       Wed, 25 Nov 2009 09:41:42 -0800 (PST)\r
+From: Scott Robinson <scott@quadhome.com>\r
+To: Jeffrey Ollie <jeff@ocjtech.us>\r
+In-reply-to: <935ead450911250833j16359db3ob9c1d625c667ecc9@mail.gmail.com>\r
+References: <1259164514-sup-196@lisa>\r
+       <935ead450911250833j16359db3ob9c1d625c667ecc9@mail.gmail.com>\r
+Date: Wed, 25 Nov 2009 09:40:56 -0800\r
+Message-Id: <1259170137-sup-8249@lisa>\r
+User-Agent: Sup/0.9\r
+Content-Transfer-Encoding: 8bit\r
+Content-Type: multipart/mixed; boundary="=-1259170856-252237-22804-3288-1-="\r
+MIME-Version: 1.0\r
+Cc: notmuch <notmuch@notmuchmail.org>\r
+Subject: Re: [notmuch] Using notmuch from Ruby, Python, et al.\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.12\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: Wed, 25 Nov 2009 17:41:51 -0000\r
+\r
+\r
+--=-1259170856-252237-22804-3288-1-=\r
+Content-Type: text/plain; charset=UTF-8\r
+Content-Disposition: inline\r
+\r
+Excerpts from Jeffrey Ollie's message of Wed Nov 25 08:33:39 -0800 2009:\r
+> On Wed, Nov 25, 2009 at 10:16 AM, Scott Robinson <scott@quadhome.com> wrote:\r
+> >\r
+> > == Shared Library\r
+> >\r
+> > I have modified the build to output a shared library. It's a small change\r
+> > relying on libtool.\r
+> >\r
+> > However, the archives indicate Carl dislikes libtool?\r
+> \r
+> Ugh, please, let's not go down the autoconf/automake/libtool route.\r
+\r
+I didn't use autoconf and friends. Just put in libtool where $(CXX) and $(CC)\r
+are. Going with the system defaults.\r
+\r
+See the attached patch.\r
+\r
+> > == JSON output\r
+> >\r
+> > I added a --output=(text|json) option to "search" and "show." Then, emit json\r
+> > results appropriately.\r
+> >\r
+> > To accomplish this, I used the cJSON library sans parsing logic.\r
+> >\r
+> > However, I saw discussion about providing a --format option?\r
+> \r
+> Awesome, I was just looking at using json-glib but I haven't gotten\r
+> very far yet, mainly because I've never used it before (nor done much\r
+> of anything with JSON). I was going to call the option\r
+> '--output-format=(standard|json)' but I'm not going to worry about the\r
+> color of that bikeshed.\r
+> \r
+> IMHO, I think both approaches would be valuable, that way people\r
+> writing front ends could choose the methods that worked best for them.\r
+>  Do you have patches that you are ready to share?\r
+> \r
+\r
+Yes!\r
+\r
+As the json work is a bit more substantial, is it preferable to start a [PATCH]\r
+thread or link to a git repo?\r
+-- \r
+Scott Robinson | http://quadhome.com/\r
+\r
+Q: Why are my replies five sentences or less?\r
+A: http://five.sentenc.es/\r
+\r
+--=-1259170856-252237-22804-3288-1-=\r
+Content-Disposition: attachment; filename="libtoolize-notmuch.diff"\r
+Content-Type: application/octet-stream; name="libtoolize-notmuch.diff"\r
+Content-Transfer-Encoding: base64\r
+\r
+ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggMmNkMWIx\r
+Yi4uYjA2NTAwNiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZp\r
+bGUKQEAgLTQsNiArNCwxMCBAQCBDRkxBR1M9LU8yCiAKICMgQWRkaXRpb25h\r
+bCBwcm9ncmFtcyB0aGF0IGFyZSB1c2VkIGR1cmluZyB0aGUgY29tcGlsYXRp\r
+b24gcHJvY2Vzcy4KIEVNQUNTID89IGVtYWNzCitsaWJ0b29sID0gbGlidG9v\r
+bAorIyBOZWVkZWQgc28gbGlidG9vbCByZXBsYWNlcyBwYXJhbWV0ZXJzIGlu\r
+IGEgbW9kZXJuIGZhc2hpb24uCitDQyA9IGdjYworQ1hYID0gZysrCiAjIExv\r
+d2VyY2FzZSB0byBhdm9pZCBjbGFzaCB3aXRoIEdaSVAgZW52aXJvbm1lbnQg\r
+dmFyaWFibGUgZm9yIHBhc3NpbmcKICMgYXJndW1lbnRzIHRvIGd6aXAuCiBn\r
+emlwID0gZ3ppcApAQCAtNDEsMjAgKzQ1LDIxIEBAIGluY2x1ZGUgTWFrZWZp\r
+bGUuY29uZmlnCiAjIHVzZXIgaG93IHRvIGVuYWJsZSB2ZXJib3NlIGNvbXBp\r
+bGVzLgogaWZlcSAoJChWKSwpCiBxdWlldF9ET0MgOj0gIlVzZSBcIiQoTUFL\r
+RSkgVj0xXCIgdG8gc2VlIHRoZSB2ZXJib3NlIGNvbXBpbGUgbGluZXMuXG4i\r
+Ci1xdWlldCA9IEBlY2hvICQocXVpZXRfRE9DKSQoZXZhbCBxdWlldF9ET0M6\r
+PSkiICAkMQkkQCI7ICQoJDEpCitWID0gMAogZW5kaWYKICMgVGhlIHVzZXIg\r
+aGFzIGV4cGxpY2l0bHkgZW5hYmxlZCBxdWlldCBjb21waWxhdGlvbi4KIGlm\r
+ZXEgKCQoViksMCkKLXF1aWV0ID0gQGVjaG8gIiAgJDEJJEAiOyAkKCQxKQor\r
+cXVpZXQgPSBAZWNobyAkKHF1aWV0X0RPQykkKGV2YWwgcXVpZXRfRE9DOj0p\r
+IiAgJDEJJEAiOyAkKCQxKQorbGlidG9vbCArPSAtLXNpbGVudAogZW5kaWYK\r
+ICMgT3RoZXJ3aXNlLCBwcmludCB0aGUgZnVsbCBjb21tYW5kIGxpbmUuCiBx\r
+dWlldCA/PSAkKCQxKQogCi0lLm86ICUuY2MgJChhbGxfZGVwcykKLQkkKGNh\r
+bGwgcXVpZXQsQ1hYKSAtYyAkKENYWEZMQUdTKSAkPCAtbyAkQAorJS5sbzog\r
+JS5jYyAkKGFsbF9kZXBzKQorCSQoY2FsbCBxdWlldCxsaWJ0b29sKSAtLW1v\r
+ZGU9Y29tcGlsZSAkKENYWCkgLWMgJChDWFhGTEFHUykgJDwgLW8gJEAKIAot\r
+JS5vOiAlLmMgJChhbGxfZGVwcykKLQkkKGNhbGwgcXVpZXQsQ0MpIC1jICQo\r
+Q0ZMQUdTKSAkPCAtbyAkQAorJS5sbzogJS5jICQoYWxsX2RlcHMpCisJJChj\r
+YWxsIHF1aWV0LGxpYnRvb2wpIC0tbW9kZT1jb21waWxlICQoQ0MpIC1jICQo\r
+Q0ZMQUdTKSAkPCAtbyAkQAogCiAlLmVsYzogJS5lbAogCSQoY2FsbCBxdWll\r
+dCxFTUFDUykgLWJhdGNoIC1mIGJhdGNoLWJ5dGUtY29tcGlsZSAkPApAQCAt\r
+NjIsMTMgKzY3LDEzIEBAIHF1aWV0ID89ICQoJDEpCiAuZGVwcy8lLmQ6ICUu\r
+YyAkKGFsbF9kZXBzKQogCUBzZXQgLWU7IHJtIC1mICRAOyBta2RpciAtcCAk\r
+JChkaXJuYW1lICRAKSA7IFwKIAkkKENDKSAtTSAkKENQUEZMQUdTKSAkKENG\r
+TEFHUykgJDwgPiAkQC4kJCQkOyBcCi0Jc2VkICdzLCckJChiYXNlbmFtZSAk\r
+KiknXC5vWyA6XSosJCoubyAkQCA6ICxnJyA8ICRALiQkJCQgPiAkQDsgXAor\r
+CXNlZCAncywnJCQoYmFzZW5hbWUgJCopJ1wubG9bIDpdKiwkKi5sbyAkQCA6\r
+ICxnJyA8ICRALiQkJCQgPiAkQDsgXAogCXJtIC1mICRALiQkJCQKIAogLmRl\r
+cHMvJS5kOiAlLmNjICQoYWxsX2RlcHMpCiAJQHNldCAtZTsgcm0gLWYgJEA7\r
+IG1rZGlyIC1wICQkKGRpcm5hbWUgJEApIDsgXAogCSQoQ1hYKSAtTSAkKENQ\r
+UEZMQUdTKSAkKENYWEZMQUdTKSAkPCA+ICRALiQkJCQ7IFwKLQlzZWQgJ3Ms\r
+JyQkKGJhc2VuYW1lICQqKSdcLm9bIDpdKiwkKi5vICRAIDogLGcnIDwgJEAu\r
+JCQkJCA+ICRAOyBcCisJc2VkICdzLCckJChiYXNlbmFtZSAkKiknXC5sb1sg\r
+Ol0qLCQqLmxvICRAIDogLGcnIDwgJEAuJCQkJCA+ICRAOyBcCiAJcm0gLWYg\r
+JEAuJCQkJAogCiBERVBTIDo9ICQoU1JDUzolLmM9LmRlcHMvJS5kKQpAQCAt\r
+NzcsNCArODIsNCBAQCBERVBTIDo9ICQoREVQUzolLmNjPS5kZXBzLyUuZCkK\r
+IAogLlBIT05ZIDogY2xlYW4KIGNsZWFuOgotCXJtIC1mICQoQ0xFQU4pOyBy\r
+bSAtcmYgLmRlcHMKKwkkKGxpYnRvb2wpIC0tbW9kZT1jbGVhbiBybSAtZiAk\r
+KENMRUFOKTsgcm0gLXJmIC5kZXBzCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5s\r
+b2NhbCBiL01ha2VmaWxlLmxvY2FsCmluZGV4IGEzYTE5ZGUuLjBhM2EyMDEg\r
+MTAwNjQ0Ci0tLSBhL01ha2VmaWxlLmxvY2FsCisrKyBiL01ha2VmaWxlLmxv\r
+Y2FsCkBAIC0yMCw5ICsyMCw5IEBAIG5vdG11Y2hfY2xpZW50X3NyY3MgPQkJ\r
+XAogCXF1ZXJ5LXN0cmluZy5jCQlcCiAJc2hvdy1tZXNzYWdlLmMKIAotbm90\r
+bXVjaF9jbGllbnRfbW9kdWxlcyA9ICQobm90bXVjaF9jbGllbnRfc3Jjczou\r
+Yz0ubykKLW5vdG11Y2g6ICQobm90bXVjaF9jbGllbnRfbW9kdWxlcykgbGli\r
+L25vdG11Y2guYQotCSQoY2FsbCBxdWlldCxDWFgpICReICQoTERGTEFHUykg\r
+LW8gJEAKK25vdG11Y2hfY2xpZW50X21vZHVsZXMgPSAkKG5vdG11Y2hfY2xp\r
+ZW50X3NyY3M6LmM9LmxvKQorbm90bXVjaDogJChub3RtdWNoX2NsaWVudF9t\r
+b2R1bGVzKSBsaWIvbGlibm90bXVjaC5sYQorCSQoY2FsbCBxdWlldCxsaWJ0\r
+b29sKSAtLW1vZGU9bGluayAkKENYWCkgJF4gJChMREZMQUdTKSAtbyAkQAog\r
+CiBub3RtdWNoLjEuZ3o6IG5vdG11Y2guMQogCSQoY2FsbCBxdWlldCxnemlw\r
+KSAtLXN0ZG91dCAkXiA+ICRACkBAIC0zMywxMCArMzMsMTIgQEAgaW5zdGFs\r
+bDogYWxsIG5vdG11Y2guMS5negogCWRvIFwKIAkJaW5zdGFsbCAtZCAkJGQg\r
+OyBcCiAJZG9uZSA7Ci0JaW5zdGFsbCBub3RtdWNoICQoREVTVERJUikkKHBy\r
+ZWZpeCkvYmluLworCSQobGlidG9vbCkgLS1tb2RlPWluc3RhbGwgaW5zdGFs\r
+bCAtYyBsaWIvbGlibm90bXVjaC5sYSAkKERFU1RESVIpJChwcmVmaXgpL2xp\r
+Yi8KKwkkKGxpYnRvb2wpIC0tbW9kZT1pbnN0YWxsIGluc3RhbGwgLWMgbm90\r
+bXVjaCAkKERFU1RESVIpJChwcmVmaXgpL2Jpbi8KIAlpbnN0YWxsIC1tMDY0\r
+NCBub3RtdWNoLjEuZ3ogJChERVNURElSKSQocHJlZml4KS9zaGFyZS9tYW4v\r
+bWFuMS8KIAlpbnN0YWxsIGNvbnRyaWIvbm90bXVjaC1jb21wbGV0aW9uLmJh\r
+c2ggXAogCQkkKERFU1RESVIpJChiYXNoX2NvbXBsZXRpb25fZGlyKS9ub3Rt\r
+dWNoCisJJChsaWJ0b29sKSAtLW1vZGU9ZmluaXNoICQoREVTVERJUikkKHBy\r
+ZWZpeCkvbGliLwogCiBpbnN0YWxsLWVtYWNzOiBpbnN0YWxsIGVtYWNzCiAJ\r
+Zm9yIGQgaW4gJChERVNURElSKS8kKGVtYWNzX2xpc3BkaXIpIDsgXApkaWZm\r
+IC0tZ2l0IGEvbGliL01ha2VmaWxlLmxvY2FsIGIvbGliL01ha2VmaWxlLmxv\r
+Y2FsCmluZGV4IGE3NTYyYzkuLjFiYzA5OTEgMTAwNjQ0Ci0tLSBhL2xpYi9N\r
+YWtlZmlsZS5sb2NhbAorKysgYi9saWIvTWFrZWZpbGUubG9jYWwKQEAgLTE2\r
+LDkgKzE2LDkgQEAgbGlibm90bXVjaF9jeHhfc3JjcyA9CQlcCiAJJChkaXIp\r
+L3F1ZXJ5LmNjCQlcCiAJJChkaXIpL3RocmVhZC5jYwogCi1saWJub3RtdWNo\r
+X21vZHVsZXMgPSAkKGxpYm5vdG11Y2hfY19zcmNzOi5jPS5vKSAkKGxpYm5v\r
+dG11Y2hfY3h4X3NyY3M6LmNjPS5vKQotJChkaXIpL25vdG11Y2guYTogJChs\r
+aWJub3RtdWNoX21vZHVsZXMpCi0JJChjYWxsIHF1aWV0LEFSKSByY3MgJEAg\r
+JF4KK2xpYm5vdG11Y2hfbW9kdWxlcyA9ICQobGlibm90bXVjaF9jX3NyY3M6\r
+LmM9LmxvKSAkKGxpYm5vdG11Y2hfY3h4X3NyY3M6LmNjPS5sbykKKyQoZGly\r
+KS9saWJub3RtdWNoLmxhOiAkKGxpYm5vdG11Y2hfbW9kdWxlcykKKwkkKGNh\r
+bGwgcXVpZXQsbGlidG9vbCkgLS1tb2RlPWxpbmsgJChDWFgpIC1ycGF0aCAk\r
+KERFU1RESVIpJChwcmVmaXgpL2xpYiAtbyAkQCAkXgogCiBTUkNTICA6PSAk\r
+KFNSQ1MpICQobGlibm90bXVjaF9jX3NyY3MpICQobGlibm90bXVjaF9jeHhf\r
+c3JjcykKLUNMRUFOIDo9ICQoQ0xFQU4pICQobGlibm90bXVjaF9tb2R1bGVz\r
+KSAkKGRpcikvbm90bXVjaC5hCitDTEVBTiA6PSAkKENMRUFOKSAkKGxpYm5v\r
+dG11Y2hfbW9kdWxlcykgJChkaXIpL2xpYm5vdG11Y2gubGEK\r
+\r
+--=-1259170856-252237-22804-3288-1-=--\r