date format problems

This commit is contained in:
Spectre 2024-09-02 17:13:25 +02:00
parent 86ccb39a46
commit 2ffc408d31

19
main.py
View file

@ -8,9 +8,13 @@ passw = os.getenv("IMAP_PASSWORD", "")
mail = os.getenv("IMAP_EMAIL", "") mail = os.getenv("IMAP_EMAIL", "")
domain = os.getenv("IMAP_SERVER", "imap.uni-potsdam.de") domain = os.getenv("IMAP_SERVER", "imap.uni-potsdam.de")
folder = os.getenv("IMAP_FOLDER", "Uni Mail") folder = os.getenv("IMAP_FOLDER", '"Uni Mail/FSR"')
cutoff = os.getenv("IMAP_CUTOFF") or datetime.date.today() - datetime.timedelta(weeks=1) cutoff = (
datetime.date.fromisoformat(c)
if (c := os.getenv("IMAP_CUTOFF"))
else datetime.date.today() - datetime.timedelta(weeks=1)
)
def get_titles(cutoff): def get_titles(cutoff):
@ -23,7 +27,7 @@ def get_titles(cutoff):
m = message_count m = message_count
date = datetime.date.today() date = datetime.date.today()
while date >= cutoff: while True:
res, msg = imap.fetch(str(m), "(RFC822)") # fetches email using ID res, msg = imap.fetch(str(m), "(RFC822)") # fetches email using ID
for response in msg: for response in msg:
@ -35,12 +39,15 @@ def get_titles(cutoff):
decoded_subj, enc = email.header.decode_header(subj)[0] decoded_subj, enc = email.header.decode_header(subj)[0]
if isinstance(decoded_subj, bytes): if isinstance(decoded_subj, bytes):
decoded_subj = decoded_subj.decode(enc) decoded_subj = decoded_subj.decode(enc)
decoded_subj = decoded_subj.strip() decoded_subj = decoded_subj.strip().replace("\n", "")
received, _ = email.header.decode_header(msg["Received"])[0] received, _ = email.header.decode_header(msg["Date"])[0]
received = received.split(";")[-1].strip() received = received.split(";")[-1].strip()
date = datetime.datetime.strptime(received, "%a, %d %b %Y %X +0200").date() date = datetime.datetime.strptime(received, "%a, %d %b %Y %X %z").date()
if date < cutoff:
return
yield date.isoformat(), decoded_subj yield date.isoformat(), decoded_subj