[Intel-gfx] [PATCH dim 1/2] dim: Add support for multiple messages in extract-tags

Sean Paul seanpaul at chromium.org
Thu Mar 23 21:07:27 UTC 2017


Make extract-tags process tags from all messages in the supplied
mbox. This allows the user to tag multiple replies and extract
all tags at once.

Signed-off-by: Sean Paul <seanpaul at chromium.org>
---
 dim | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/dim b/dim
index 989674a..43ea794 100755
--- a/dim
+++ b/dim
@@ -342,25 +342,27 @@ if message_id is not None:
 EOF
 }
 
-message_print_body ()
+mbox_cat_messages ()
 {
 	python2 <<EOF
 import email
+import mailbox
 
 def print_part(part):
     mtype = part.get_content_maintype()
     if mtype == 'text':
         print(part.get_payload(decode=True))
 
-def print_msg(file):
-    msg = email.message_from_file(file)
+def print_msg(msg):
     if msg.is_multipart():
         for part in msg.get_payload():
             print_part(part)
     else:
         print_part(msg)
 
-print_msg(open('$1', 'r'))
+mbox = mailbox.mbox('$1', create=False)
+for m in mbox.values():
+    print_msg(m)
 EOF
 }
 
@@ -1157,7 +1159,7 @@ function dim_extract_tags
 
 	cat > $file
 
-	tags=$(message_print_body "$file" | grep -ai '^[^>]*[A-Za-z-]\+: [^ ]')
+	tags=$(mbox_cat_messages "$file" | grep -ai '^[^>]*[A-Za-z-]\+: [^ ]')
 
 	rm -f $file
 
-- 
2.12.1.500.gab5fba24ee-goog



More information about the Intel-gfx mailing list