Files
fsr_generator/README.rst
2021-04-28 12:23:11 +02:00

87 lines
3.4 KiB
ReStructuredText

FSR Generator
=============
Diese Sammlung an Skripten kann die meisten Dinge die man so für einen FSR braucht erzeugen.
How to configure
----------------
Die Hauptkonfiguration steht in `generator.conf`. Die `.example`-Datei im Repo sollte sinnvolle Standartwerte für den (digitalen) FSR haben, geändert werden muss insbesondere die E-Mail der Redeleitung (wird für den From-Header genutzt) und der Meeting-Link. Falls die Mattermostintegration genutzt werden soll muss ausserdem die `mm_url` auf einen Mattermost-Hook gesetzt werdnen.
Die `read_*mail`-Skripte haben ausserdem Konfigurationskonstanten, hauptsächlich für den Pfad zur Mailbox, die geändert werden müssen bevor man diese benutzen kann.
Bestandteile
------------
`generate.py`
+++++++++++++
Das Herzstück der Skriptsammlung. Liest Daten aus `generator.conf` sowie den darin angegebenen Dateien und erzeugt den Einladungstext (für E-Mail oder Mattermost), die LaTeX-Datei für die Präsentation und eine Protokollvorlage.
Standardmäßig wird das Ergebnis nach STDOUT geschrieben, es gibt aber auch Optionen das Ganze in eine mbox-Datei zu speichern oder direkt mit sendmail zu verschicken.
`read_db.sh`
++++++++++++
Dieses Skript verbindet sich mit der FSMI-Datenbank und liest die unveröffentlichen Protokolle aus um folgende Dinge zu extrahieren und in Dateien unter `data/` zu speichern:
- Liste der unveröffentlichten Protokolle
- Datum des letzten FSRs (für `read_topmails.py`)
- nächste Redeleitung
- nächster Protokollant
Um es zu nutzen ist es erforderlich dass du
- ein Passwort für postgres `gesetzt <https://www.fsmi.uni-karlsruhe.de/Fachschaft/Personen/ExtraPasswoerter.html>`_ hast
- entweder das Skript auf einem FS-Rechner ausführst oder eine SSH-Config für `fsmi-login.fsmi.uni-karlsruhe.de` eingerichtet hast (Benutzername und SSH-Key)
- die passenden Rechte auf die DB hast (sollten alle haben)
`read_ubmails.py`
+++++++++++++++++
Dieses Skript durchsucht ein Maildir nach der neusten E-Mail mit dem Betreff "Unbeantwortete Mails" und schreibt den Inhalt dieser in eine Datei.
`read_topmails.py`
++++++++++++++++++
Dieses Skript liest alle E-Mails aus einem Maildir deren `List-Id` auf `top.fsmi.uni-karlsruhe.de` gesetzt ist und die nach dem letzten FSR (gelesen aus `data/last_date`) gesendet wurden. Geschrieben wird als mbox in das `top_mbox_file` aus `generator.conf`.
How to use
----------
Immer
+++++
Die aktuelle TOP-Mails raussuchen und in eine mbox schreiben deren Pfad in `generator.conf` angegeben ist. Alternativ `read_topmails.py` ausführen.
Entweder die richtige Redeleitung und Protokollant raussuchen und in die `generator.conf` schreiben oder `read_db.sh` ausführen.
Einladung
+++++++++
Wenn du die E-Mail manuell versenden (und evtl. signieren) möchtest:
`./generate.py --invite --write-mbox`
Die mbox im Mailclient öffnen, die neuste Nachricht auswählen, "als neu bearbeiten", absenden.
Wenn du die E-Mail direkt versenden möchtest (und sendmail konfiguriert hast):
`./generate.py --invite --send-mail`
Präsentation
++++++++++++
Entweder manuell die letzte "Unbeantwortete Mails" E-Mail raussuchen und in die konfigurierte Datei schreiben oder `read_ubmails.py` ausführen.
`./generate.py --presentation > whatever.tex`
`pdflatex whatever.tex`
Alternativ gibt es `prepare_presentation.sh` welches die Hilfsskripte ausführt, die Präsentation erzeugt, kompiliert und einen Symlink zum PDF anlegt.
Protokoll
+++++++++
Analog Präsentation, aber mit `--protocol`