Show email adress in output of `notmuch search --format json`

Edgar Hipp contact at javascript-ninja.fr
Fri Jun 2 01:35:03 PDT 2017


On Thu, Jun 01, 2017 at 10:41:02AM +0100, David Edmondson wrote:
> On Thursday, 2017-06-01 at 08:59:17 +0200, Edgar Hipp wrote:
> 
> > Hello !
> >
> > I'm building a tool that combines fzf (a fuzzy finder) and notmuch to
> > find email more interactively.
> >
> > For that, it would be great if the --format=json would return not just
> > the author name, but also the author email.
> >
> > I run : 
> >
> > ```
> > notmuch search  --format=json '*' | tail -1
> > ```
> >
> > And get following output : 
> >
> > ```
> > {"thread": "0000000000000b72", "timestamp": 1397639242, "date_relative": "2014-04-16", "matched": 1, "total": 1, "authors": "-a l'attention de contact-", "subject": "[SPAM] Lettre d'information", "query": ["id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ at idealcoursier.com", null], "tags": ["inbox"]}]
> > ```
> >
> > I would like to get the real email adress too : 
> >
> > ```
> > {"thread": "0000000000000b72", "timestamp": 1397639242, "date_relative": "2014-04-16", "matched": 1, "total": 1, "authoremail": "contact at idealcoursier.com", "authors": "-a l'attention de contact-", "subject": "[SPAM] Lettre d'information", "query": ["id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ at idealcoursier.com", null], "tags": ["inbox"]}]
> > ```
> >
> > More generally, it would be great to have a configuration option to
> > specify which fields you want, like how `git log --format=` works.
> >
> > What do you think ?
> 
> You're using the output of “search”:
> 
> % notmuch search --format=json id:20170601065917.tb7enmxklevslevt at fr-fadpc15.europe.altair.com
> [{"thread": "0000000000037667", "timestamp": 1496300357, "date_relative": "Today 07:59", "matched": 1, "total": 1, "authors": "Edgar Hipp", "subject": "Show email adress in output of `notmuch search --format json`", "query": ["id:20170601065917.tb7enmxklevslevt at fr-fadpc15.europe.altair.com", null], "tags": ["inbox4", "list", "notmuch"]}]
> 
> Perhaps the output of “show” is more what you're after?
> 
> % notmuch show --format=json id:20170601065917.tb7enmxklevslevt at fr-fadpc15.europe.altair.com
> [[[{"id": "20170601065917.tb7enmxklevslevt at fr-fadpc15.europe.altair.com", "match": true, "excluded": false, "filename": "/home/dme/Maildir/.d.list.notmuch/cur/1496309415_0.21047.disaster-area,U=12312,FMD5=48696af6d61a012532c1ce55c0592d76:2,S", "timestamp": 1496300357, "date_relative": "Today 07:59", "tags": ["inbox4", "list", "notmuch"], "headers": {"Subject": "Show email adress in output of `notmuch search --format json`", "From": "Edgar Hipp <contact at javascript-ninja.fr>", "To": "notmuch at notmuchmail.org", "Date": "Thu, 01 Jun 2017 08:59:17 +0200"}, "body": [{"id": 1, "content-type": "text/plain", "content": "Hello !\n\nI'm building a tool that combines fzf (a fuzzy finder) and notmuch to\nfind email more interactively.\n\nFor that, it would be great if the --format=json would return not just\nthe author name, but also the author email.\n\nI run : \n\n```\nnotmuch search  --format=json '*' | tail -1\n```\n\nAnd get following output : \n\n```\n{\"thread\": \"0000000000000b72\", \"timestamp\": 1397639242, \"date_relative\": \"2014-04-16\", \"matched\": 1, \"total\": 1, \"authors\": \"-a l'attention de contact-\", \"subject\": \"[SPAM] Lettre d'information\", \"query\": [\"id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ at idealcoursier.com\", null], \"tags\": [\"inbox\"]}]\n```\n\nI would like to get the real email adress too : \n\n```\n{\"thread\": \"0000000000000b72\", \"timestamp\": 1397639242, \"date_relative\": \"2014-04-16\", \"matched\": 1, \"total\": 1, \"authoremail\": \"contact at idealcoursier.com\", \"authors\": \"-a l'attention de contact-\", \"subject\": \"[SPAM] Lettre d'information\", \"query\": [\"id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ at idealcoursier.com\", null], \"tags\": [\"inbox\"]}]\n```\n\nMore generally, it would be great to have a configuration option to\nspecify which fields you want, like how `git log --format=` works.\n\nWhat do you think ?\n\nBest,\n\nEdgar\n\n_______________________________________________\nnotmuch mailing list\nnotmuch at notmuchmail.org\nhttps://notmuchmail.org/mailman/listinfo/notmuch\n"}]}, []]]]
> % 
> 
> The “search” output is meant purely for displaying a list of threads, so
> the information presented is limited to whatever was considered
> necessary for that.
> 
> dme.
> -- 
> And the sign said long haired freaky people need not apply.

Sorry, I wasn't completely clear.

What I'm doing is basically 

notmuch search --format=json '*' | processing_program | fzf

Which makes it possible to search trough messages interactively : fzf is
a fuzzy finder(see the gif on the page https://github.com/junegunn/fzf)

What I would expect is to have the same format as show but for multiple
messages, (in my case for search).

That's why I would find it interesting to be able to customize the
fields shown in search.

Best,

Edgar


More information about the notmuch mailing list