From b9cd56cabac535e1ed6c758b4254a02aba24b630 Mon Sep 17 00:00:00 2001 From: Mark Walters Date: Sun, 2 Nov 2014 09:29:28 +0000 Subject: [PATCH] Re: [PATCH v6 6/7] cli: search: Add --output=count --- ef/128c7e910a6630e6f8e5e8264d0ed0147e4519 | 174 ++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 ef/128c7e910a6630e6f8e5e8264d0ed0147e4519 diff --git a/ef/128c7e910a6630e6f8e5e8264d0ed0147e4519 b/ef/128c7e910a6630e6f8e5e8264d0ed0147e4519 new file mode 100644 index 000000000..690b3efdc --- /dev/null +++ b/ef/128c7e910a6630e6f8e5e8264d0ed0147e4519 @@ -0,0 +1,174 @@ +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 -- 2.26.2