Skip to content
Snippets Groups Projects
Commit 994c8151 authored by specki's avatar specki
Browse files

Implement basic extraction of plenum topics from dokuwiki

parent 1d9ff2b0
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