backend tooling for modulplaner-frontend
|
|
1 mês atrás | |
|---|---|---|
| config | 1 mês atrás | |
| parse | 1 mês atrás | |
| .gitignore | 1 mês atrás | |
| LICENSE | 1 mês atrás | |
| README.md | 1 mês atrás | |
| parse_class_pdf.py | 1 mês atrás | |
| requirements.txt | 1 mês atrás |
Provides backend tooling for modulplaner.
Because the original repo only contains frontend code and data updates were slow and intransparent, I created this repo as a solution.
After installing the python3 dependencies in requirements.txt, execute parse_class_pdf.py to parse a class timetable PDF.
./parse_class_pdf.py [-h] [-l LECTURERS] [-i INPUT] [-o OUTPUT] [lecturers_pos]
-i, --input: Path to the input PDF file. Defaults to klassen.pdf.-o, --output: Path to the output JSON file. Defaults to classes.json.-l, --lecturers or lecturers_pos: Path to the lecturers.json file. If provided, it is used to validate lecturer shorthands during parsing.The default values for input and output files are defined in config/constants.py.
Currently I am working on refining the core data generation. In the future, I can see myself also working on:
DSMixe entry in the room line (third line) of class pdf cells, or the line is missing altogetheralle which is degree program agnosticKontext BWL, Kontext Kommunikation, Kontext GSW have mixed classes, which arises the need the have a table to differentiate the modulesteaching_type's defined that may not ever be found in class pdf'spart_of_other_classes needs to be further investigatedmodulplaner-backend is a free (as in “free speech” and also as in “free beer”) Software. It is distributed under the GNU Affero General Public License v3 (or any later version) - see the accompanying LICENSE file for more details.