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 0D57D431FD7 for ; Sun, 2 Nov 2014 01:29:47 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.098 X-Spam-Level: X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5 tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=1.2, 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 SyS4H+buG9+z for ; Sun, 2 Nov 2014 01:29:39 -0800 (PST) Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 778FA431FAF for ; Sun, 2 Nov 2014 01:29:39 -0800 (PST) Received: from smtp.qmul.ac.uk ([138.37.6.40]) by mail2.qmul.ac.uk with esmtp (Exim 4.71) (envelope-from ) id 1XkrTX-0004SS-E6; Sun, 02 Nov 2014 09:29:37 +0000 Received: from 5751dfa2.skybroadband.com ([87.81.223.162] helo=localhost) by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.71) (envelope-from ) id 1XkrTW-0006nm-RN; Sun, 02 Nov 2014 09:29:31 +0000 From: Mark Walters To: Michal Sojka , notmuch@notmuchmail.org Subject: Re: [PATCH v6 6/7] cli: search: Add --output=count In-Reply-To: <87bnoqbexm.fsf@steelpick.2x.cz> 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> User-Agent: Notmuch/0.18.1+86~gef5e66a (http://notmuchmail.org) Emacs/23.4.1 (x86_64-pc-linux-gnu) Date: Sun, 02 Nov 2014 09:29:28 +0000 Message-ID: <87d2963q87.fsf@qmul.ac.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Sender-Host-Address: 87.81.223.162 X-QM-Geographic: According to ripencc, this message was delivered by a machine in Britain (UK) (GB). X-QM-SPAM-Info: Sender has good ham record. :) X-QM-Body-MD5: fff3332d8322b566dca8b716cdc10c85 (of first 20000 bytes) X-SpamAssassin-Score: -0.1 X-SpamAssassin-SpamBar: / X-SpamAssassin-Report: The QM spam filters have analysed this message to determine if it is spam. We require at least 5.0 points to mark a message as spam. This message scored -0.1 points. Summary of the scoring: * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider * (markwalters1009[at]gmail.com) * -0.1 AWL AWL: From: address is in the auto white-list X-QM-Scan-Virus: ClamAV says the message is clean 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:29:47 -0000 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. Best wishes Mark > >> If it is difficult it might be sufficient to just document that sort >> has no effect. > > I'd do it this way :) > > Thanks, > -Michal