add helper scripts

This commit is contained in:
2020-07-29 17:06:37 +02:00
parent 04757abfeb
commit 0aa7c05313
2 changed files with 73 additions and 0 deletions

32
clean_data.py Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/python3
import mailbox
import jinja2
import email.header
import email.utils
import yaml
import datetime
import sys, os
import pypandoc
import argparse
import quopri
from pprint import pprint
CONFIG_FILE = "generator.conf"
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--config", default=CONFIG_FILE)
args = parser.parse_args()
config = yaml.full_load(open(args.config))
open(config["top_mbox_file"], 'w').close()
for top in config["pre_tops"]:
if "file" in top and os.path.isfile(top["file"]):
os.remove(top["file"])
for top in config["post_tops"]:
if "file" in top and os.path.isfile(top["file"]):
os.remove(top["file"])

41
read_ubmails.py Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/python3
import mailbox
import jinja2
import email.header
import email.utils
import yaml
import datetime
import sys, os
import pypandoc
import argparse
import quopri
from pprint import pprint
from dateutil import parser
MAILDIR = "/home/yannik/mail/INBOX/"
OUTFILE = "ubemails.txt"
def decode_header(header):
return "".join([ x[0].decode(x[1] or "ascii") if isinstance(x[0], bytes) else x[0] for x in email.header.decode_header(header) ])
if __name__ == "__main__":
mbox = mailbox.Maildir(MAILDIR)
latest = None
latest_date = None
for message in mbox:
if message["Subject"]:
if decode_header(message["Subject"]).strip() == "Unbeantwortete Mails":
date = parser.parse(message["Date"])
if latest is None:
latest = message
latest_date = date
elif latest_date < date:
latest = message
latest_date = date
if latest_date.date() != datetime.date.today():
print("WARNING: Mail is not from today", file=os.stderr)
payload = latest.get_payload(decode=True).decode("utf8").strip()
print(payload.rpartition("\n--")[0].strip() if "\n--" in payload else payload)