Re: Python analogous for the CLI command
authorJustus Winter <4winter@informatik.uni-hamburg.de>
Thu, 18 Apr 2013 10:27:21 +0000 (12:27 +0200)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:54:25 +0000 (09:54 -0800)
bc/921a4faad542c411c9ac3cd3877b068970c783 [new file with mode: 0644]

diff --git a/bc/921a4faad542c411c9ac3cd3877b068970c783 b/bc/921a4faad542c411c9ac3cd3877b068970c783
new file mode 100644 (file)
index 0000000..e70e441
--- /dev/null
@@ -0,0 +1,115 @@
+Return-Path: <teythoon@jade-hamburg.de>\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 C4FBA431FBC\r
+       for <notmuch@notmuchmail.org>; Thu, 18 Apr 2013 03:28:36 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+       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 PUmn7IoD0ivt for <notmuch@notmuchmail.org>;\r
+       Thu, 18 Apr 2013 03:28:32 -0700 (PDT)\r
+Received: from mail.cryptobitch.de (cryptobitch.de [88.198.7.68])\r
+       (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 0DFB9431FBF\r
+       for <notmuch@notmuchmail.org>; Thu, 18 Apr 2013 03:28:32 -0700 (PDT)\r
+Received: from mail.jade-hamburg.de (mail.jade-hamburg.de [85.183.11.228])\r
+       (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))\r
+       (No client certificate requested)\r
+       by mail.cryptobitch.de (Postfix) with ESMTPSA id 5ED6B6211B9\r
+       for <notmuch@notmuchmail.org>; Thu, 18 Apr 2013 12:28:27 +0200 (CEST)\r
+Received: by mail.jade-hamburg.de (Postfix, from userid 401)\r
+       id C0E0EDF2A3; Thu, 18 Apr 2013 12:28:26 +0200 (CEST)\r
+Received: from thinkbox.jade-hamburg.de (thinkbox.jadE-Hamburg.de\r
+ [10.1.1.109]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))     (No\r
+ client certificate requested) (Authenticated sender: teythoon)        by\r
+ mail.jade-hamburg.de (Postfix) with ESMTPSA id 24BA7DF28B;    Thu, 18 Apr 2013\r
+ 12:28:25 +0200 (CEST)\r
+Received: from teythoon by thinkbox.jade-hamburg.de with local (Exim 4.80)\r
+       (envelope-from <teythoon@thinkbox.jade-hamburg.de>)\r
+       id 1USm3l-0003HZ-GK; Thu, 18 Apr 2013 12:27:21 +0200\r
+Content-Type: text/plain; charset="utf-8"\r
+MIME-Version: 1.0\r
+Content-Transfer-Encoding: quoted-printable\r
+From: Justus Winter <4winter@informatik.uni-hamburg.de>\r
+User-Agent: alot/0.3.3+\r
+To: Flavius Aspra <flavius.as@gmail.com>,  notmuch@notmuchmail.org\r
+References: <20130418081137.GA598@evolution>\r
+In-Reply-To: <20130418081137.GA598@evolution>\r
+Message-ID: <20130418102721.10489.1439@thinkbox.jade-hamburg.de>\r
+Subject: Re: Python analogous for the CLI command\r
+Date: Thu, 18 Apr 2013 12:27:21 +0200\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: Thu, 18 Apr 2013 10:28:37 -0000\r
+\r
+Hi Flavius :)\r
+\r
+welcome to notmuch :)\r
+\r
+Quoting Flavius Aspra (2013-04-18 10:11:37)\r
+> Can you give me some pointers on how to use the python module to get the =\r
+JSON\r
+> data with notmuch effort, equivalent to the command:\r
+            ^^^^^^^ hehe :)\r
+\r
+Ok, here it is:\r
+\r
+teythoon@thinkbox ~/tmp % cat flavius.py\r
+import notmuch\r
+\r
+db =3D notmuch.Database()\r
+q =3D db.create_query('from:Flavius')\r
+\r
+for m in q.search_messages():\r
+    print(m)\r
+\r
+for t in q.search_threads():\r
+    for m in t.get_toplevel_messages():\r
+        print(m)\r
+teythoon@thinkbox ~/tmp % python3 flavius.py\r
+Flavius Aspra <flavius.as@gmail.com> (inbox lists notmuch signed) (2013-04-=\r
+18)\r
+Flavius Aspra <flavius.as@gmail.com> (inbox lists notmuch signed) (2013-04-=\r
+18)\r
+\r
+There once was a json encoder that produced something similar to\r
+notmuch show --format=3Djson, but that was there only to be used by a\r
+python version of the notmuch cli binary. That was unmaintained and\r
+apparently unused, I removed it and the json encoder some time ago.\r
+\r
+If you absolutely need json, put the result in some suitable data\r
+structure and use pythons json module to encode it.\r
+\r
+> Some key classes and methods would be helpful. From the documentation of =\r
+the\r
+> python code, I couldn't find indications about any of the parameters like\r
+> --entire-thread and --format.\r
+\r
+Have you seen http://notmuch.readthedocs.org ?\r
+\r
+Also, if you want to see some code that uses the python bindings, go\r
+to github.com/pazz/alot (nice MUA written in python, but it's huge) or\r
+github.com/teythoon/afew (tagging solution, tiny codebase compared to\r
+alot).\r
+\r
+Good luck :)\r
+Justus\r
+\r
+btw: cool name ;)\r