Moodle Sync Aggregate
ist ein Programm zur Notenberechnung. Es verbindet sich zu einem Moodle Server und lädt alle Bewertungen aller Schülerinnen und Schüler herunter um sie dann in ein Excel zu exportieren. Zur Verwendung wird ein Moodle Authorization Token benötigt.
Funktionalität
- Automatisierter Download aller SchülerInnen Bewertungen in einem Kurs
- Gruppen werden exportiert
- Automatisiertes Matching der SchülerInnen Namen zur Jahrgangszuordnung (Schülerliste mit Klassen wird benötigt)
- Auswahl der zu speichernden Bewertungen über die Grafische Benutzeroberfläche
- Verkürzung der Kompetenzorientierten Bewertungen (GKü, GKv, ...)
- Export der Bewertungen als leicht zu bearbeitendes Excel
Vorraussetzungen
- Moodle Server URL
- Moodle Authorization Key
- Studentlist.csv *optional
- (Certifi Zertifikat) only for run from source
Python Dependencies
- Python 3.10
- PyQt5 5.15.6
- certifi 2021.10.8
- openpyxl 3.0.9
- requests 2.26.0
- pandas 1.3.5
- python-ldap 3.4.0
Run from Source
- pip install -r requirements.txt
- Copy content of additional_cert.pem into venv(or other python environment folter)/lib/python3.10/site-packages/certifi/cacert.pem
Credit Moodle API by mrcinv
TODOs
Download aggregated grade report- rework export function object oriented, more stable
- improve import functionality
- bestehungsgrenze aus modul
- statistics? anzahl an noten, kompetenzen, schüler, ...
- graphes for statistics?
- andere Berechnungen?
- export as json
Only starts in debug mode?statusbarimport excel for mergingDownload Progress Bar (multiprocessing?, asyncio?)BUG: self.current_course switches when changing course without downloading it!Catch Error LDAP not working when not in schooloverride page instead of error messageadd configparserrework guiadding negative kompetenzen for GKüberprüfung/mergedremove warningsDownload and Merge GrundkompetenzüberprüfungenDownload multiple and export into one fileUsing LDAP for studentlistBUG: some conditional formatting not workingDont save when page already existsKompetenzzählerBerechnung und Streichungen von WH/Wiederholung/SMÜadd Cancel Number in settingsadd load and merge buttonadd open... button for studentlistpathadd download LDAP Button in settingsOpendialog for studentlistpathCreate Negative Competences Column (ie. 1.1;1.3)Competences Names to json fileLogin to Moodle using Username and PasswordSchwellwerte für bedingte Formatierung in ExcelSort Gruppe/Klasse before NameBedingte Formatierung Gruppe != KlasseError Messagesno classes without studentlistinclude email adressStudentlist standartpath to sharpointGet Students Jahrgang from moodle GroupAdd ALLE/KEINE CheckboxStartup Config (Splitter, elearning-URL, elearning-Key, export filepath, ...)Filename generation (timestamp-kursname-klassen.xlsx)Format exported excelAuto Numbers detection and format as number in excelAuto GK/EK detectionbedingte formatierung für EKv/EKübedingte formatierung rot für GK wenn -/nbedingte formatierung für v/ü wenn EKbedingte formatierung für Wiederholungzusammenfassen der Kompetenzbereiche abhängig von ModulnummerKompetenzbereiche Formular instead of python calculatedNotenberechnung aus NotenschlüsselBedingte Formatierung für NotenvorschlagBedingte Formatierung für Kompetenzbereiche