unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* RFC: output json from notmuch?
@ 2009-12-13 23:21 David Bremner
  2009-12-13 23:26 ` David Bremner
                   ` (2 more replies)
  0 siblings, 3 replies; 40+ messages in thread
From: David Bremner @ 2009-12-13 23:21 UTC (permalink / raw)
  To: notmuch


It would be nice to have more structured output from notmuch-show.  I
decided to investigate sexp (i.e. lisp) and json output.

Sexp has the obvious advantage that it is trivially parsable in emacs;
for other clients it is a little more work.  I started looking at
sfsexp (http://sexpr.sourceforge.net).  It looks ok; I got a little
irritated that it doesn't support cons cells (i.e. dotted pairs). 

Then I found that json parsing is provided by the library json.el
shipped with emacs23, so I decided to play with json a bit.

I settled on the jansson library (http://www.digip.org/jansson/)
because it seemed to have a sane api and documentation, but there are
many choices.  I'll follow up with the actual patch, but the idea is to
replace the printfs in show_message with calls to set (key,value) pairs
in a json object, and output it at the end.

This is not in any sense a production patch (e.g. it needs to actually
return a thread object rather than just dumping messages out; nothing at
all has been done on the emacs side), but it gives you some idea of
would be involved.

So, do people think this is a reasonable idea to persue?

    1) it adds a dependency, but not a heavy one. jansson is about 300k
    installed on debian/i386

    2) It might mean that people using emacs22 might have to score
    json.el from somewhere; I'm not sure.

    3) There is some increase in memory use since the whole thread has
    to be built as a json object before being output.

    4) Of course jansson is doing it's own reference counting memory
    managment, and not using talloc. But we already have glib...

Of course we won't really know if it is good idea until we try it, but
if it already looks like a no-go, I'll stop.

Attachments:  json output of a message from carl, and the equivalent
sexpr as parsed by json.el.  




-- 
David Bremner                                  Professor, UNB Computer Science
bremner@unb.ca			           
http://www.cs.unb.ca/~bremner               Cross Appointment, UNB Mathematics
http://www.mitacs.ca/			   MITACS Atlantic Scientific Director

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2010-04-05 18:13 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-13 23:21 RFC: output json from notmuch? David Bremner
2009-12-13 23:26 ` David Bremner
2009-12-14  0:05   ` Scott Robinson
2009-12-14  0:42     ` David Bremner
2009-12-14 22:41       ` Carl Worth
2009-12-14 22:34     ` Carl Worth
2009-12-14  0:07 ` Marten Veldthuis
2009-12-14 22:30 ` Carl Worth
2009-12-14 23:10   ` David Bremner
2009-12-18  5:33     ` [PATCH] JSON output for notmuch-search and notmuch-show Scott Robinson
2009-12-18 12:59       ` [PATCH] Add an "--output=(json|text|)" command-line option to both " david
2009-12-18 17:33         ` Carl Worth
2009-12-18 18:45           ` Scott Robinson
2009-12-19  0:36           ` David Bremner
2009-12-23  5:58             ` Carl Worth
2009-12-19 14:55           ` Prototype of --show option to control what is shown david
2009-12-19 14:55             ` [PATCH 1/3] rename option to select output format to --format from --output david
2009-12-19 14:55               ` [PATCH 2/3] notmuch-show.c: make calls to format functions conditional david
2009-12-19 14:55                 ` [PATCH 3/3] notmuch-show.c: prototype tabular output format, with output control david
2010-03-09 19:51                   ` Carl Worth
2010-03-09 20:19                     ` David Bremner
2010-03-10  9:25                       ` Carl Worth
2010-03-10 15:34                         ` David Bremner
2009-12-20 20:31               ` [PATCH] notmuch-query.el: new file to support access to the notmuch database david
2009-12-21 17:21                 ` Carl Worth
2009-12-21 18:01                   ` David Bremner
2010-02-24 12:52                 ` [PATCH v2] " david
2010-04-05 16:46                   ` [PATCH v3] " david
2010-04-05 16:59                     ` David Edmondson
2010-04-05 18:13                     ` Carl Worth
2010-02-23 19:56         ` [PATCH] Add an "--output=(json|text|)" command-line option to both notmuch-search and notmuch-show Carl Worth
2010-02-23 21:00           ` JSON output as default [was: Re: [PATCH] Add an "--output=(json|text|)" command-line option...] Jameson Rollins
2010-02-23 23:35             ` Carl Worth
2010-02-24 13:54               ` Sebastian Spaeth
2009-12-18 17:31       ` [PATCH] JSON output for notmuch-search and notmuch-show Carl Worth
2009-12-18 18:47         ` Scott Robinson
2009-12-23  5:48           ` Carl Worth
2009-12-31  8:54             ` Scott Robinson
2009-12-31 12:49               ` David Bremner
2009-12-25 12:53           ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).