From: Michal Nazarewicz Date: Thu, 6 Sep 2012 15:16:52 +0000 (+0200) Subject: [PATCH] notmuch-show: include Bcc header in json output X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=85bbc1afb57c30a485092f3835957a254f2ea64c;p=notmuch-archives.git [PATCH] notmuch-show: include Bcc header in json output --- diff --git a/95/7d1b5ed9fbcf94a9b6a779100f955e3f00bc9f b/95/7d1b5ed9fbcf94a9b6a779100f955e3f00bc9f new file mode 100644 index 000000000..448861cf5 --- /dev/null +++ b/95/7d1b5ed9fbcf94a9b6a779100f955e3f00bc9f @@ -0,0 +1,150 @@ +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 582C7431FAF + for ; Thu, 6 Sep 2012 08:17:05 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.8 +X-Spam-Level: +X-Spam-Status: No, score=-0.8 tagged_above=-999 required=5 + tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, + RCVD_IN_DNSWL_LOW=-0.7] 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 goBucuESRB3h for ; + Thu, 6 Sep 2012 08:17:01 -0700 (PDT) +Received: from mail-bk0-f53.google.com (mail-bk0-f53.google.com + [209.85.214.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 2C406431FAE + for ; Thu, 6 Sep 2012 08:17:01 -0700 (PDT) +Received: by bkwj4 with SMTP id j4so953514bkw.26 + for ; Thu, 06 Sep 2012 08:16:59 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; + s=20120113; + h=from:to:subject:date:message-id:x-mailer:in-reply-to:references; + bh=M0Tf2mfG9Xi8C0sLnmZh9DkwZngUoOz/Juewb23UdU0=; + b=BpZzckzwDLfNseI88i7WV52XIUeh209ZXhwoX7fs69lvKHJUVa1+MfTrZZoV4ZDED5 + fPFzG90x0IGeymWBubplHpJdTXuGkpc6dsydLnOpQ7TfgKlq8jvYky/aGzPni+vUSLCR + qrKUQipJDcBfIw/O34VubKsGMWUwzevLq5SFg3eQBoJkuLekL8xm9yxVabTlIKnXkESL + zx58iKuXcRtwoWDohOhZAlob3Ma6POf7CE6PjDQYthSOPtrQZma0OjdY8+5exAZvmsXH + vDu1IWUdDevYEnXA+ly7+T4g2VPoeCUxCbkUtWZwm6f5VvBZEpGzKZfXHZCahHylAwY/ a1gg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=google.com; s=20120113; + h=from:to:subject:date:message-id:x-mailer:in-reply-to:references + :x-gm-message-state; + bh=M0Tf2mfG9Xi8C0sLnmZh9DkwZngUoOz/Juewb23UdU0=; + b=IKVvnwIIfoXmfOWGDZ6moNgdgE7qvYsAuPvXSK2vywQs0ruMzMl30FIz/8YGA4Qb6q + jsLijCP0mVmRtstaTkYgIIY2wQZ/Qpfq6qdK8ZxDA+h1pJfHXEGJZj8LCh2qLP4zesbP + G9EWksBx2EWTINtV/j/yLrKw9S1cCUI0YNtPEjTw1YsewHzRVEok6hgtfM23PtQL2hif + kQ08ziTUrrPJpEfPqBGfqk4nzjCdBpZpJs9TlKpffxsHM/Gv6LFx9/CorzASi+1QmLQ1 + YFiGue0b2a3FXtx1mHakyae0RS3r8YC7yHkrl1HkFscAGwASkccvtiYuKlAKZUoFuCXN + ppbg== +Received: by 10.204.148.72 with SMTP id o8mr1173588bkv.103.1346944619762; + Thu, 06 Sep 2012 08:16:59 -0700 (PDT) +Received: by 10.204.148.72 with SMTP id o8mr1173577bkv.103.1346944619505; + Thu, 06 Sep 2012 08:16:59 -0700 (PDT) +Received: from mpn-glaptop.corp.google.com. + (dhcp-172-16-75-154.zrh.corp.google.com [172.16.75.154]) + by mx.google.com with ESMTPS id gq2sm1567294bkc.13.2012.09.06.08.16.57 + (version=SSLv3 cipher=OTHER); Thu, 06 Sep 2012 08:16:58 -0700 (PDT) +From: Michal Nazarewicz +To: notmuch@notmuchmail.org +Subject: [PATCH] notmuch-show: include Bcc header in json output +Date: Thu, 6 Sep 2012 17:16:52 +0200 +Message-Id: + <821b9893f8b26cfe624568015c52c5b7753a9eac.1346944540.git.mina86@mina86.com> +X-Mailer: git-send-email 1.7.7.3 +In-Reply-To: + +References: + +X-Gm-Message-State: ALoCoQnSdOnmSpHNuUVfOuDyuClcyGvuE/AEJCmfym1DLtWeGooBkgAOWptrn8P9yrl1f65JMF3M2tiOoKJJu4CajvLq8fEOr13KIQhCC6hUItzGBfqs3m5NRTJS9fV3V/CoaKU9LB2KDLqph91ViHZAm9RUunUjqgp4onWQq/V3vzmChEgjvtH6nCE8GcrTEUWm6kG9u0Kz2Q0KG6sNjgXJT0F36ZS/8w== +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: Thu, 06 Sep 2012 15:17:05 -0000 + +From: Michal Nazarewicz + +--- + notmuch-show.c | 7 +++++++ + test/json | 8 ++++---- + test/test-lib.sh | 5 +++++ + 3 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/notmuch-show.c b/notmuch-show.c +index 3556293..0b7abf1 100644 +--- a/notmuch-show.c ++++ b/notmuch-show.c +@@ -233,6 +233,13 @@ format_headers_json (sprinter_t *sp, GMimeMessage *message, + sp->string (sp, recipients_string); + } + ++ recipients = g_mime_message_get_recipients (message, GMIME_RECIPIENT_TYPE_BCC); ++ recipients_string = internet_address_list_to_string (recipients, 0); ++ if (recipients_string) { ++ sp->map_key (sp, "Bcc"); ++ sp->string (sp, recipients_string); ++ } ++ + if (reply) { + sp->map_key (sp, "In-reply-to"); + sp->string (sp, g_mime_object_get_header (GMIME_OBJECT (message), "In-reply-to")); +diff --git a/test/json b/test/json +index ac8fa8e..40d0ba3 100755 +--- a/test/json ++++ b/test/json +@@ -3,18 +3,18 @@ test_description="--format=json output" + . ./test-lib.sh + + test_begin_subtest "Show message: json" +-add_message "[subject]=\"json-show-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-show-message\"" ++add_message "[subject]=\"json-show-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[bcc]=\"test_suite+bcc@notmuchmail.org\"" "[body]=\"json-show-message\"" + output=$(notmuch show --format=json "json-show-message") +-test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite \", \"To\": \"Notmuch Test Suite \", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" ++test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite \", \"To\": \"Notmuch Test Suite \", \"Bcc\": \"test_suite+bcc@notmuchmail.org\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" + + # This should be the same output as above. + test_begin_subtest "Show message: json --body=true" + output=$(notmuch show --format=json --body=true "json-show-message") +-test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite \", \"To\": \"Notmuch Test Suite \", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" ++test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite \", \"To\": \"Notmuch Test Suite \", \"Bcc\": \"test_suite+bcc@notmuchmail.org\",\"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]" + + test_begin_subtest "Show message: json --body=false" + output=$(notmuch show --format=json --body=false "json-show-message") +-test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite \", \"To\": \"Notmuch Test Suite \", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}}, []]]]" ++test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"excluded\": false, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite \", \"To\": \"Notmuch Test Suite \", \"Bcc\": \"test_suite+bcc@notmuchmail.org\",\"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}}, []]]]" + + test_begin_subtest "Search message: json" + add_message "[subject]=\"json-search-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-search-message\"" +diff --git a/test/test-lib.sh b/test/test-lib.sh +index f34b1fb..e14203d 100644 +--- a/test/test-lib.sh ++++ b/test/test-lib.sh +@@ -350,6 +350,11 @@ ${additional_headers}" + ${additional_headers}" + fi + ++ if [ ! -z "${template[bcc]}" ]; then ++ additional_headers="Bcc: ${template[bcc]} ++${additional_headers}" ++ fi ++ + if [ ! -z "${template[references]}" ]; then + additional_headers="References: ${template[references]} + ${additional_headers}" +-- +1.7.7.3 +