Skip to content
Snippets Groups Projects
Commit 34f75f53 authored by void's avatar void
Browse files

Merge branch 'feature/sendmail_plenum' into 'master'

Implement basic extraction of plenum topics from dokuwiki

See merge request !15
parents 1d9ff2b0 994c8151
No related branches found
No related tags found
1 merge request!15Implement basic extraction of plenum topics from dokuwiki
...@@ -34,4 +34,4 @@ ...@@ -34,4 +34,4 @@
hour: "20" hour: "20"
minute: "0" minute: "0"
job: "/usr/bin/python3 /srv/dokuwiki/sendmail_plenum.py" job: "/usr/bin/python3 /srv/dokuwiki/sendmail_plenum.py"
disabled: true disabled: false
import smtplib import smtplib
import datetime
from email.message import EmailMessage from email.message import EmailMessage
msg = EmailMessage()
msg['Subject'] = 'Aktuelle Plenumsthemen für den kommenden Dienstag 20:00'
msg['From'] = '{{noreply_email_user}}'
msg['To'] = 'intern@warpzone.ms'
with open("/srv/dokuwiki/data/data/pages/intern/diskussionsthemen.txt") as fp: with open("/srv/dokuwiki/data/data/pages/intern/diskussionsthemen.txt") as fp:
msg.set_content(fp.read()) raw = fp.read().split('\n')
# Extract Themen
firstline = 0
lastline = 0
for index, line in enumerate(raw):
# Start marker
if "====== 1." in line:
firstline = index + 1
continue
# End marker
if "====== 2." in line:
lastline = index
break
# Remove empty lines from topics
topics = []
for extracted in raw[firstline:lastline-1]:
if extracted != '':
topics.append(extracted)
# There are no topics - just exit
if (len(topics) == 0):
exit()
# calculate date of next tuesday
d = datetime.date.today()
while d.strftime('%a') != 'Tue':
d += datetime.timedelta(1)
# mail template
mail = f"""
Liebe Zonies,
es gibt wieder Themen die im Plenum besprochen werden sollen. Der nächste
Reguläre Termin ist am nächsten Dienstag ({str(d)}).
Im Wiki (https://wiki.warpzone.ms/intern:diskussionsthemen#diskussionsthemen_naechstes_plenum_automatische_einladung)
stehen folgende Themen:
{chr(10).join(topics)}
Die Teilnahme ist natürlich auch remote möglich unter
https://jitsi.dorf-post.de/warpzone-plenum möglich.
Viele Grüße und bis Dienstag,
sendmail_plenum.py
"""
server = smtplib.SMTP('{{smtp_host}}', {{smtp_port}}) msg = EmailMessage()
server.starttls() msg['Subject'] = 'Aktuelle Plenumsthemen für den kommenden Dienstag 20:00'
server.login("{{noreply_email_user}}", "{{noreply_email_pass}}") msg['From'] = '{{noreply_email_user}}'
server.send_message(msg) msg['To'] = 'intern@warpzone.ms'
server.quit() msg.set_content(mail)
server = smtplib.SMTP('{{smtp_host}}', {{smtp_port}})
server.starttls()
server.login("{{noreply_email_user}}", "{{noreply_email_pass}}")
server.send_message(msg)
server.quit()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment