2022-03-09 16:18:20 +01:00
2022-02-01 22:27:17 +01:00
2022-02-01 22:27:17 +01:00
2021-04-27 23:25:35 +02:00
2022-03-09 16:18:20 +01:00
2022-03-09 16:18:20 +01:00
2022-03-09 16:18:20 +01:00
2021-12-07 16:49:28 +01:00
2022-03-09 16:18:20 +01:00

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`. Manche Werte sind für jeden Benutzer individuell, dafür gibt es die Datei `personal.conf` auf die in `generator.conf` verwiesen wird. Hier muss auf jeden Fall `email_redeleitung` gesetzt werden, sowie `top_inbox_maildir` wenn `read_topmails.py` verwendet werden soll und `ubmails_inbox_maildir` wenn `read_ubmails.py` verwendet werden soll. Falls die Mattermostintegration genutzt werden soll muss ausserdem die `mm_url` auf einen Mattermost-Hook gesetzt werdnen.

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`
Description
No description provided
Readme 74 KiB
Languages
Python 78.9%
Shell 10.6%
HTML 10.5%