epr_grader/README.md

89 lines
No EOL
3.4 KiB
Markdown

# eprgrader
Ein Tool, um die Bewertung von EPR-Abgaben (und auch GPR-Abgaben) zu beschleunigen.
## Installation
1. Legt `eprgrader.py` (das eigentliche Programm) und `eprcheck_2019.py` (das pylint-Plugin für die
Author-Variable) im selben Verzeichnis ab.
2. Wenn ihr den automatischen Style-Check benutzen wollt, installiert `pylint`, `pycodestyle`
und `astroid` via `pip`:
`pip install pylint==2.15.0 pycodestyle==2.8.0 astroid==2.13.5`
## Zu Beginn
Ladet die ZIP-Datei(en) mit den Abgaben für eure Gruppe(n) sowie die Bewertungstabellle herunter.
Legt ein Verzeichnis für das Übungsblatt an, und dann einen Unterordner für jedes eurer Tutorien.
Legt die Abgaben-Zips in die jeweiligen Ordner. Das ganze sollte jetzt in etwa so aussehen:
```
blatt0
|-- Bewertungstabelle_EPR_0.xlsx
|-- EPR01
| `-- EPR-2021-Abgabe zu EPR_00-EPR 01 - H 7 - Adrian-88422.zip
`-- EPR02
`-- EPR-2021-Abgabe zu EPR_00-EPR 02 - H 6 - Adrian-88422.zip
```
Führt jetzt den Startbefehl aus:
```cmd
cd ...\Tutorium\blatt0
python eprgrader.py begin --table Bewertungstabelle_EPR_4.xlsx
```
Zusätzliche Optionen:
* `--no-stylecheck`: Überspringt die PEP8-Prüfung und verhindert das Anlegen der `stylecheck.txt`-Dateien für jede Abgabe.
* `--pairs`: Überprüft die `__author__`-Variable nach dem Format für Paaraufgaben.
Hierdurch werden alle zip-Archive entpackt, die Bewertungstabellen kopiert und für jeden Teilnehmer
entsprechend umbenannt, und ggf. der Stylchecker ausgeführt.
## Style-Prüfung erneut ausführen
Bei Bedarf kann die Style-Prüfung erneut ausgeführt werden. Dabei werden alle bestehenden
`stylecheck.txt`-Dateien überschrieben.
```cmd
cd ...\Tutorium\blatt0
python eprgrader.py relint
```
Zusätzliche Optionen:
* `--pairs`: Überprüft die `__author__`-Variable nach dem Format für Paaraufgaben.
## Abschluss
Am Ende können die Bewertungsdateien (Glob-Pattern `Bewertung *`) sowie die `stylecheck.txt`
für jeden Teilnehmer zusammengesammelt und für den Upload als Feedback-Datei wieder zusammengepackt
werden.
Achtung: das funktioniert nur für die Einzelabgaben sinnvoll!
```cmd
cd ...\Tutorium\blatt0
python eprgrader.py finalise
```
Nun sollte sich in jedem Tutoriums-Unterordner eine neue Zip-Datei finden, die den Namen
des Tutoriums trägt (z. B. `EPR02.zip`). Diese kann über die Moodle-Option "Mehrere Feedbackdateien
in einer Zip-Datei hochladen" hochgeladen werden.
## Änderung der Style-Einstellungen
Die Style-Einstellungen (welche Checks aktiviert bzw. deaktiviert sind) habe ich letztes Jahr
mal nach eigenem Empfinden zusammengestellt. (Es wird deutlich mehr überprüft, als laut unseren
Richtlinien zu Punktabzug führt.) Die aktivierten Checker sind relativ weit oben in `eprgrader.py`
konfiguriert, in den Listen `PYLINT_OPTIONS` und `PYCODESTYLE_SELECT`.
## Bei Problemen
`eprgrader.py` gibt sich Mühe, auch zip-Dateien mit vergurksten Dateinamen zu entpacken (passiert
meistens, wenn Mac- oder Linux-Nutzer Umlaute in ihren Dateinamen haben), und die Dateinamen
dabei zu reparieren. Manche sind aber so kaputt, dass das Tool einfach abstürzt. In dem Fall
hilft nur, die betroffene Datei aus dem heruntergeladenen Zip zu entfernen und nochmal von vorne
anzufangen. Danach kann man die kaputte Datei von Hand ergänzen und ggf. den `relint`-Befehl nutzen.
Bei anderen Problemen, schreibt entweder in das Forum des Tutorenkurses, oder schreibt mir eine
E-Mail: [welcker@em.uni-frankfurt.de](mailto:welcker@em.uni-frankfurt.de).
-- Adrian [2021-11-01]