debug options and quoted-printable decoding
This commit is contained in:
17
generate.py
17
generate.py
@@ -8,6 +8,7 @@ import datetime
|
|||||||
import sys
|
import sys
|
||||||
import pypandoc
|
import pypandoc
|
||||||
import argparse
|
import argparse
|
||||||
|
import quopri
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
CONFIG_FILE = "generator.conf"
|
CONFIG_FILE = "generator.conf"
|
||||||
@@ -29,7 +30,10 @@ class Top:
|
|||||||
self.title = decode_header(message["Subject"])[6:]
|
self.title = decode_header(message["Subject"])[6:]
|
||||||
real_name, address = email.utils.parseaddr(message["From"])
|
real_name, address = email.utils.parseaddr(message["From"])
|
||||||
self.sender = real_name or address
|
self.sender = real_name or address
|
||||||
self.body = message.get_payload().rpartition("\n--")[0]
|
payload = message.get_payload()
|
||||||
|
if message["Content-Transfer-Encoding"] == "quoted-printable":
|
||||||
|
payload = quopri.decodestring(payload.encode("ascii")).decode("utf8")
|
||||||
|
self.body = payload.rpartition("\n--")[0] if "\n--" in payload else payload
|
||||||
elif title:
|
elif title:
|
||||||
self.title = title
|
self.title = title
|
||||||
self.sender = sender
|
self.sender = sender
|
||||||
@@ -96,6 +100,7 @@ if __name__ == "__main__":
|
|||||||
mode.add_argument("--invite", action="store_true")
|
mode.add_argument("--invite", action="store_true")
|
||||||
mode.add_argument("--presentation", action="store_true")
|
mode.add_argument("--presentation", action="store_true")
|
||||||
mode.add_argument("--protocol", action="store_true")
|
mode.add_argument("--protocol", action="store_true")
|
||||||
|
parser.add_argument("--debug", action="store_true", help=argparse.SUPPRESS)
|
||||||
parser.add_argument("--write-mbox", action="store_true")
|
parser.add_argument("--write-mbox", action="store_true")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
@@ -138,6 +143,8 @@ if __name__ == "__main__":
|
|||||||
email_tops = []
|
email_tops = []
|
||||||
|
|
||||||
for message in mbox:
|
for message in mbox:
|
||||||
|
if args.debug:
|
||||||
|
print(message.get_payload())
|
||||||
top = Top(message=message)
|
top = Top(message=message)
|
||||||
email_tops.append(top)
|
email_tops.append(top)
|
||||||
|
|
||||||
@@ -155,11 +162,15 @@ if __name__ == "__main__":
|
|||||||
"email_tops": email_tops,
|
"email_tops": email_tops,
|
||||||
"WEEKDAYS": WEEKDAYS}
|
"WEEKDAYS": WEEKDAYS}
|
||||||
|
|
||||||
if args.write_mbox:
|
if args.debug:
|
||||||
|
for top in to:
|
||||||
|
pprint(top.__dict__)
|
||||||
|
pprint(context)
|
||||||
|
elif args.write_mbox:
|
||||||
msg = email.message.EmailMessage()
|
msg = email.message.EmailMessage()
|
||||||
msg.set_content(template.render(context))
|
msg.set_content(template.render(context))
|
||||||
msg["Subject"] = j2env.from_string(config["invite_subject"]).render(context)
|
msg["Subject"] = j2env.from_string(config["invite_subject"]).render(context)
|
||||||
msg["From"] = config["redeleitung"]["email"]
|
msg["From"] = email.utils.formataddr((config["redeleitung"]["name"], config["redeleitung"]["email"]))
|
||||||
msg["To"] = config["invite_mail"]
|
msg["To"] = config["invite_mail"]
|
||||||
mbox = mailbox.mbox(config["mbox_out"])
|
mbox = mailbox.mbox(config["mbox_out"])
|
||||||
mbox.add(msg)
|
mbox.add(msg)
|
||||||
|
|||||||
Reference in New Issue
Block a user