* Show email adress in output of `notmuch search --format json` @ 2017-06-01 6:59 Edgar Hipp 2017-06-01 9:41 ` David Edmondson 0 siblings, 1 reply; 8+ messages in thread From: Edgar Hipp @ 2017-06-01 6:59 UTC (permalink / raw) To: notmuch 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@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@idealcoursier.com", "authors": "-a l'attention de contact-", "subject": "[SPAM] Lettre d'information", "query": ["id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ@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 ? Best, Edgar ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` 2017-06-01 6:59 Show email adress in output of `notmuch search --format json` Edgar Hipp @ 2017-06-01 9:41 ` David Edmondson 2017-06-02 8:35 ` Edgar Hipp 0 siblings, 1 reply; 8+ messages in thread From: David Edmondson @ 2017-06-01 9:41 UTC (permalink / raw) To: Edgar Hipp, notmuch 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@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@idealcoursier.com", "authors": "-a l'attention de contact-", "subject": "[SPAM] Lettre d'information", "query": ["id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ@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@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@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@fr-fadpc15.europe.altair.com [[[{"id": "20170601065917.tb7enmxklevslevt@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@javascript-ninja.fr>", "To": "notmuch@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@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@idealcoursier.com\", \"authors\": \"-a l'attention de contact-\", \"subject\": \"[SPAM] Lettre d'information\", \"query\": [\"id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ@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@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. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` 2017-06-01 9:41 ` David Edmondson @ 2017-06-02 8:35 ` Edgar Hipp 2017-06-02 9:08 ` David Edmondson 0 siblings, 1 reply; 8+ messages in thread From: Edgar Hipp @ 2017-06-02 8:35 UTC (permalink / raw) To: David Edmondson; +Cc: notmuch 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@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@idealcoursier.com", "authors": "-a l'attention de contact-", "subject": "[SPAM] Lettre d'information", "query": ["id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ@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@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@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@fr-fadpc15.europe.altair.com > [[[{"id": "20170601065917.tb7enmxklevslevt@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@javascript-ninja.fr>", "To": "notmuch@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@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@idealcoursier.com\", \"authors\": \"-a l'attention de contact-\", \"subject\": \"[SPAM] Lettre d'information\", \"query\": [\"id:SKT8635X-JCWL-FS8M-IDH7-WTK8XFCLCQ@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@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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` 2017-06-02 8:35 ` Edgar Hipp @ 2017-06-02 9:08 ` David Edmondson 2017-06-02 9:28 ` Edgar Hipp 0 siblings, 1 reply; 8+ messages in thread From: David Edmondson @ 2017-06-02 9:08 UTC (permalink / raw) To: Edgar Hipp; +Cc: notmuch On Friday, 2017-06-02 at 10:35:03 +0200, Edgar Hipp wrote: > 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. Understood. There is no general ability to customise the fields today. Would: notmuch show --body=false --format=json "*" | other_processing | fzf let you achieve your goal? (The processing would have to change, of course.) In general, I wonder whether “search” or “show” for “*” will give you the performance you want if fzf waits for all of the input before allowing the user to start matching. For example, with 0.5 million messages in a database: % time notmuch search --format=json "*" > /dev/null notmuch search --format=json "*" > /dev/null 108.14s user 35.55s system 75% cpu 3:10.18 total % (Not a particularly fast machine, but all of the relevant stuff is on SSD.) If I had to wait 108 seconds to start matching it would be unusable. “show” will probably be slower. dme. -- You know your green from your red. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` 2017-06-02 9:08 ` David Edmondson @ 2017-06-02 9:28 ` Edgar Hipp 2017-06-02 9:30 ` Edgar Hipp 2017-06-02 10:11 ` David Edmondson 0 siblings, 2 replies; 8+ messages in thread From: Edgar Hipp @ 2017-06-02 9:28 UTC (permalink / raw) To: David Edmondson; +Cc: notmuch On Fri, Jun 02, 2017 at 10:08:30AM +0100, David Edmondson wrote: > On Friday, 2017-06-02 at 10:35:03 +0200, Edgar Hipp wrote: > > > 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. > > Understood. There is no general ability to customise the fields today. > > Would: > > notmuch show --body=false --format=json "*" | other_processing | fzf > > let you achieve your goal? (The processing would have to change, of > course.) > > In general, I wonder whether “search” or “show” for “*” will give you > the performance you want if fzf waits for all of the input before > allowing the user to start matching. > > For example, with 0.5 million messages in a database: > > % time notmuch search --format=json "*" > /dev/null > notmuch search --format=json "*" > /dev/null 108.14s user 35.55s system 75% cpu 3:10.18 total > % > > (Not a particularly fast machine, but all of the relevant stuff is on > SSD.) > > If I had to wait 108 seconds to start matching it would be > unusable. “show” will probably be slower. > > dme. > -- > You know your green from your red. It seems that my notmuch show does'nt show multiple outputs : $ notmuch --version notmuch 0.24.1 $ notmuch show --body=false --format=json "*" | wc -l 1 $ notmuch search --format=json "*" | wc -l 3481 Thanks in advance, Edgar ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` 2017-06-02 9:28 ` Edgar Hipp @ 2017-06-02 9:30 ` Edgar Hipp 2017-06-02 10:11 ` David Edmondson 1 sibling, 0 replies; 8+ messages in thread From: Edgar Hipp @ 2017-06-02 9:30 UTC (permalink / raw) To: David Edmondson; +Cc: notmuch On Fri, Jun 02, 2017 at 11:28:06AM +0200, Edgar Hipp wrote: > On Fri, Jun 02, 2017 at 10:08:30AM +0100, David Edmondson wrote: > > On Friday, 2017-06-02 at 10:35:03 +0200, Edgar Hipp wrote: > > > > > 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. > > > > Understood. There is no general ability to customise the fields today. > > > > Would: > > > > notmuch show --body=false --format=json "*" | other_processing | fzf > > > > let you achieve your goal? (The processing would have to change, of > > course.) > > > > In general, I wonder whether “search” or “show” for “*” will give you > > the performance you want if fzf waits for all of the input before > > allowing the user to start matching. > > > > For example, with 0.5 million messages in a database: > > > > % time notmuch search --format=json "*" > /dev/null > > notmuch search --format=json "*" > /dev/null 108.14s user 35.55s system 75% cpu 3:10.18 total > > % > > > > (Not a particularly fast machine, but all of the relevant stuff is on > > SSD.) > > > > If I had to wait 108 seconds to start matching it would be > > unusable. “show” will probably be slower. > > > > dme. > > -- > > You know your green from your red. > > It seems that my notmuch show does'nt show multiple outputs : > > $ notmuch --version > notmuch 0.24.1 > > $ notmuch show --body=false --format=json "*" | wc -l > 1 > > $ notmuch search --format=json "*" | wc -l > 3481 > > Thanks in advance, > > Edgar fzf starts as soon as one line is in stdin. I use it a lot for log searching , and also in real time. When I use my search command, I will probably first filter the results very grossly (to have less than 1000 mails to fuzzy find). ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` 2017-06-02 9:28 ` Edgar Hipp 2017-06-02 9:30 ` Edgar Hipp @ 2017-06-02 10:11 ` David Edmondson 1 sibling, 0 replies; 8+ messages in thread From: David Edmondson @ 2017-06-02 10:11 UTC (permalink / raw) To: Edgar Hipp; +Cc: notmuch On Friday, 2017-06-02 at 11:28:06 +0200, Edgar Hipp wrote: > It seems that my notmuch show does'nt show multiple outputs : > > $ notmuch --version > notmuch 0.24.1 > > $ notmuch show --body=false --format=json "*" | wc -l > 1 > > $ notmuch search --format=json "*" | wc -l > 3481 Ouch. Works for me with 0.23.7. > fzf starts as soon as one line is in stdin. > I use it a lot for log searching , and also in real time. Cool. > When I use my search command, I will probably first filter the results > very grossly (to have less than 1000 mails to fuzzy find). Won't your filter then end up waiting for all of the input? dme. -- Ah, oh your hair is beautiful. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Show email adress in output of `notmuch search --format json` @ 2017-06-02 10:40 Edgar Hipp 0 siblings, 0 replies; 8+ messages in thread From: Edgar Hipp @ 2017-06-02 10:40 UTC (permalink / raw) To: David Edmondson; +Cc: notmuch Indeed, notmuch show works, i just saw one line, but actually, the line is an array of messages `[]`, so I guess I can make it work. For the filtering, fzf starts filtering whenever there is some input, and the filter is also applied to new lines. I will send you a gif once my script is ready if you're curious ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-06-02 11:56 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-06-01 6:59 Show email adress in output of `notmuch search --format json` Edgar Hipp 2017-06-01 9:41 ` David Edmondson 2017-06-02 8:35 ` Edgar Hipp 2017-06-02 9:08 ` David Edmondson 2017-06-02 9:28 ` Edgar Hipp 2017-06-02 9:30 ` Edgar Hipp 2017-06-02 10:11 ` David Edmondson -- strict thread matches above, loose matches on Subject: below -- 2017-06-02 10:40 Edgar Hipp
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).