From 1b9fb6727cfc50b77bd812ca7133d4fad66dfda7 Mon Sep 17 00:00:00 2001 From: anon_user Date: Wed, 20 Nov 2019 23:15:21 +0100 Subject: [PATCH] vmike read the docs & did some magic --- active_bots/mailbot.py | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/active_bots/mailbot.py b/active_bots/mailbot.py index fbcd02b..cac7e87 100644 --- a/active_bots/mailbot.py +++ b/active_bots/mailbot.py @@ -58,29 +58,12 @@ def make_report(msg, user): date = get_date_from_header(msg['Date']) author = msg['From'] # get mail author from email header - - if msg.is_multipart(): - text = [] - for part in msg.get_payload(): - if part.get_content_type() == "text": - text.append(part.get_payload()) - elif part.get_content_type() == "application/pgp-signature": - pass # ignore PGP signatures - elif part.get_content_type() == "multipart/mixed": - for p in part: - if isinstance(p, str): - text.append(p) - elif p.get_content_type() == "text": - text.append(part.get_payload()) - else: - logger.error("unknown MIMEtype: " + - p.get_content_type()) - else: - logger.error("unknown MIMEtype: " + - part.get_content_type()) - text = '\n'.join(text) - else: - text = msg.get_payload() + text = msg.get_body(('plain',)) + if not text: + text = re.sub(r'<[^>]*>', '', msg.get_body(('html',))) + if not text: + logger.error('No suitable message body') + return post = report.Report(author, "mail", text, None, date) user.save_seen_mail(date) return post