[PATCH] notmuch-show: include Bcc header in json output
authorMichal Nazarewicz <mpn@google.com>
Thu, 6 Sep 2012 15:16:52 +0000 (17:16 +0200)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:49:24 +0000 (09:49 -0800)
95/7d1b5ed9fbcf94a9b6a779100f955e3f00bc9f [new file with mode: 0644]

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