From 9ed1c04bd5ee596362ff962b5911376a9efc35c2 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Sun, 2 Nov 2014 10:34:37 +0100 Subject: [PATCH] Re: [PATCH v6 6/7] cli: search: Add --output=count --- 93/df265d633902308e62b5e54e854d2546328abb | 168 ++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 93/df265d633902308e62b5e54e854d2546328abb diff --git a/93/df265d633902308e62b5e54e854d2546328abb b/93/df265d633902308e62b5e54e854d2546328abb new file mode 100644 index 000000000..df11c6962 --- /dev/null +++ b/93/df265d633902308e62b5e54e854d2546328abb @@ -0,0 +1,168 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 55F48431FD7 + for ; Sun, 2 Nov 2014 01:35:05 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -2.3 +X-Spam-Level: +X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id WZ7WKQDkcHG3 for ; + Sun, 2 Nov 2014 01:34:58 -0800 (PST) +Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) + by olra.theworths.org (Postfix) with ESMTP id BA6A1431FAF + for ; Sun, 2 Nov 2014 01:34:57 -0800 (PST) +Received: from localhost (unknown [192.168.200.7]) + by max.feld.cvut.cz (Postfix) with ESMTP id 9A79019F2F4D; + Sun, 2 Nov 2014 10:34:49 +0100 (CET) +X-Virus-Scanned: IMAP STYX AMAVIS +Received: from max.feld.cvut.cz ([192.168.200.1]) + by localhost (styx.feld.cvut.cz [192.168.200.7]) (amavisd-new, + port 10044) + with ESMTP id ta9Icm_g9ktY; Sun, 2 Nov 2014 10:34:44 +0100 (CET) +Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34]) + by max.feld.cvut.cz (Postfix) with ESMTP id 7035619F2F50; + Sun, 2 Nov 2014 10:34:43 +0100 (CET) +User-Agent: Kaiten Mail +In-Reply-To: <87d2963q87.fsf@qmul.ac.uk> +References: <1414792441-29555-1-git-send-email-sojkam1@fel.cvut.cz> + <1414792441-29555-7-git-send-email-sojkam1@fel.cvut.cz> + <87r3xnu3dn.fsf@qmul.ac.uk> <87bnoqbexm.fsf@steelpick.2x.cz> + <87d2963q87.fsf@qmul.ac.uk> +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; + charset=UTF-8 +Subject: Re: [PATCH v6 6/7] cli: search: Add --output=count +From: Michal Sojka +Date: Sun, 02 Nov 2014 10:34:37 +0100 +To: Mark Walters ,notmuch@notmuchmail.org +Message-ID: +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 02 Nov 2014 09:35:05 -0000 + + + +On 2. listopadu 2014 10:29:28 CET, Mark Walters wrote: +> +>Hi +> +>On Sun, 02 Nov 2014, Michal Sojka wrote: +>> On Sat, Nov 01 2014, Mark Walters wrote: +>>> On Fri, 31 Oct 2014, Michal Sojka wrote: +>>>> This output can be used with --output=recipients or --output=sender +>>>> and in addition to the addresses, it prints how many times was each +>>>> address encountered during search. +>>> +>>> Hi +>>> +>>> I have a couple comments on this patch. +>>> +>>>> --- +>>>> completion/notmuch-completion.bash | 2 +- +>>>> completion/notmuch-completion.zsh | 2 +- +>>>> doc/man1/notmuch-search.rst | 9 +++++-- +>>>> notmuch-search.c | 51 +>++++++++++++++++++++++++++++++++------ +>>>> 4 files changed, 52 insertions(+), 12 deletions(-) +>>>> +>>>> diff --git a/completion/notmuch-completion.bash +>b/completion/notmuch-completion.bash +>>>> index cfbd389..39cd829 100644 +>>>> --- a/completion/notmuch-completion.bash +>>>> +++ b/completion/notmuch-completion.bash +>>>> @@ -294,7 +294,7 @@ _notmuch_search() +>>>> return +>>>> ;; +>>>> --output) +>>>> - COMPREPLY=( $( compgen -W "summary threads messages files +>tags sender recipients" -- "${cur}" ) ) +>>>> + COMPREPLY=( $( compgen -W "summary threads messages files +>tags sender recipients count" -- "${cur}" ) ) +>>>> return +>>>> ;; +>>>> --sort) +>>>> diff --git a/completion/notmuch-completion.zsh +>b/completion/notmuch-completion.zsh +>>>> index 3e52a00..d7e5a5e 100644 +>>>> --- a/completion/notmuch-completion.zsh +>>>> +++ b/completion/notmuch-completion.zsh +>>>> @@ -53,7 +53,7 @@ _notmuch_search() +>>>> '--max-threads=[display only the first x threads from the +>search results]:number of threads to show: ' \ +>>>> '--first=[omit the first x threads from the search +>results]:number of threads to omit: ' \ +>>>> '--sort=[sort results]:sorting:((newest-first\:"reverse +>chronological order" oldest-first\:"chronological order"))' \ +>>>> - '--output=[select what to output]:output:((summary threads +>messages files tags sender recipients))' +>>>> + '--output=[select what to output]:output:((summary threads +>messages files tags sender recipients count))' +>>>> } +>>>> +>>>> _notmuch() +>>>> diff --git a/doc/man1/notmuch-search.rst +>b/doc/man1/notmuch-search.rst +>>>> index 42f17e4..ec89200 100644 +>>>> --- a/doc/man1/notmuch-search.rst +>>>> +++ b/doc/man1/notmuch-search.rst +>>>> @@ -96,9 +96,14 @@ Supported options for **search** include +>>>> Like **sender** but for addresses from *To*, *Cc* and +>>>> *Bcc* headers. +>>>> +>>>> + **count** +>>>> + Can be used in combination with **sender** or +>>>> + **recipients** to print the count of how many times was +>>>> + the address encountered during search. +>>>> + +>>>> This option can be given multiple times to combine different +>>>> - outputs. Currently, this is only supported for **sender** and +>>>> - **recipients** outputs. +>>>> + outputs. Currently, this is only supported for **sender**, +>>>> + **recipients** and **count** outputs. +>>> +>>> It might be worth saying that the results will be slower if count is +>>> specified. +>> +>> I wrote something like this in +>> id:1414889400-30977-10-git-send-email-sojkam1@fel.cvut.cz. +>> +>>> +>>>> ``--sort=``\ (**newest-first**\ \|\ **oldest-first**) +>>> +>>> I think sort works as expected if count is not specified, but does +>not +>>> with count. +>> +>> Agreed. +>> +>>> Maybe count can be done by doing two passes? +>> +>> What do you mean by pass? +> +>I mean iterating through the messages twice: so the first time would +>fill in the count in the hash map, and the second iteration would print +>the addresses. + +That's what the patch does. Only the second time it iterates the hash. + +Michal + +-- +Odesláno z mého telefonu pomocí Kaiten Mail. Omluvte prosím mou stručnost. -- 2.26.2