Exporting a single email as JSON
Ciprian Dorin Craciun
ciprian.craciun at gmail.com
Sat Dec 10 14:46:51 PST 2011
On Sat, Dec 10, 2011 at 22:15, Jameson Graef Rollins
<jrollins at finestructure.net> wrote:
> On Sat, 10 Dec 2011 20:32:22 +0200, Ciprian Dorin Craciun <ciprian.craciun at gmail.com> wrote:
>> Quick question: why isn't it reasonable to export a **single**
>> email in JSON format (by using the `show` sub-command)? (I mean I
>> understand that in order to be able to correctly parse the output we
>> need only one "object" (i.e. a list of threads, containing a list of
>> emails, etc.). But there might be use cases in which we need a
>> "twist".)
>
> Hi, Ciprian. I agree that it would be nice too have the ability to
> output single messages without the rest of their thread. I have on
> occasion wanted this functionality, but never enough to get around to
> implementing it. It definitely wouldn't be that hard to implement,
> though.
>
> The notmuch show function is actually going through a pretty major
> overhaul at the moment. I bet as soon as that's done we can get some
> sort of single-message output going.
>
> jamie.
I've given a quick look into `notmuch-show.c` (commit from
December 4) and indeed it seems quite trivial to add new formats.
Thus I wonder:
a) Is the code suitable for experimenting such a feature? (I mean
is the "overhaul" almost done, or still in progress?)
b) What would be the estimate for the "overhaul" completion? (To
start prototyping such a feature...)
c) Would someone else be interested in such a feature? (Or it's
something so remote that only the two of us stumbled upon it?)
I think it's quite hard to get this feature "right". I.e. I can
see the following different -- but equally likely -- use-cases:
* in my use-case I would need each line of the output to be a
standalone JSON object of an individual message; (thus I can script
with Bash `notmuch ... | while read message ; do ... ; done`;)
* maybe someone else would need that the output to contain
**exactly one** such message (maybe the first);
* and maybe for someone else the use case involves having no
`--entire-thread` by default;
* further more someone else would actually prefer a "flatten" list
of messages (not the currently nested list);
* or maybe the separator in the first use case should be `\0`
instead of `\n`;
Thanks,
Ciprian.
P.S.: I think all sub-commands that output line-feed separated
records should also have the option to split them instead with `\0`.
(I.e. `xargs` insists upon this I think, if not it separates by space
or new-line.)
More information about the notmuch
mailing list