add helper scripts
This commit is contained in:
41
read_ubmails.py
Executable file
41
read_ubmails.py
Executable 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)
|
||||
Reference in New Issue
Block a user