@@ -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
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@chromium.org> --- dim | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)