Closed danielkrohmer closed 7 years ago
Mit der reinen Konfiguration ist es leider nicht unbedingt getan. Jede Hochschule hat eine minimal andere HTML-Struktur der Notenliste, daher müsste zudem auch geprüft werden ob die regulären Ausdrücke im RequestManager
– insbesondere in findList() – auch bei der TU Kaiserslautern greifen. Könntest du das zunächst lokal testen? Wenn ja füge ich die Hochschule gerne hinzu.
Hey, danke erstmal für deine zügige Antwort und generell dein Engagement bezüglich dieser App! Zunächst einmal müsste ich die Werte von schools.swift korrigieren, es fehlt noch der urltrail:
School( key: "tukl", name: "Technische Universität Kaiserslautern", order: "K", url: "qis.verw.uni-kl.de", urltrail: "/qisserver/rds?state=" ),
weiterhin habe mir mal den Quelltext angeschaut und mit unserem QIS-System verglichen. Von den regulären ausdrücken müsste es eigentlich passen, allerdings ist die URL-Struktur etwas anders (btw: ich bin mir nicht sicher was es mit der asi-Variablen auf sich hat, gehe aber davon aus, dass es sich einfach um einen 18-stelligen Identifier aus Buchstaben und Ziffern handelt). Die URL stimmt bei unserem System nach der Variablen "degree" nicht mehr mit der aus der Funktion findList überein, viel mehr wäre es bei uns:
https://" + school.url + school.urlTrail + "notenspiegelStudent&next=list.vm&nextdir=qispos/notenspiegel/student&createInfos=Y&struct=auswahlBaum&nodeID=auswahlBaum%7Cabschluss%3Aabschl%3D" + degree + "%7Cstudiengang%3Astg%3DA44&expand=0&asi=" + asi
Hoffe du kannst damit etwas anfangen. Gruß, Daniel!
Ja, die ASI eine quasi ein Token, welchen das QIS-System für die jeweilige Sitzung generiert und welcher bei allen Requests mitgegeben werden muss.
Deine URL enthält mit A44
deinen spezifischen Studiengang, diese Werte versucht Grades in findDegree()
auszulesen. Dieses Vorgehen ist bisher für alle Hochschulen passend. Oft enthalten die URLs der Notenliste auch noch weitere Variablen, welche für Grades nicht unbedingt nötig sind.
Besteht für dich die Möglichkeit das Projekt auf deinem Rechner via Xcode auszuprobieren? Wenn ja, könnten wir so stückchenweise versuchen die Kompatibilität sicherzustellen.
Bin win-Nutzer, kann mir aber schnell ne VM mit macOS aufsetzen
Ok habe nach etwas hin und her alles zum Laufen gekriegt und den Code wie oben stehend editiert und es würde so funktionieren. Interessant wäre nur noch, ob es allgemeingültig ist :D screen: http://imgur.com/a/1zFpx
Fein dass es klappt. :) Könntest du aus deinen Änderungen eventuell einen Pull-Request machen? Dann würde ich das prüfen und ggf. einbauen.
done :)
Ok, dann schauen wir mal wie wir das zusammenbasteln. Den weiteren Austausch machen wir dann direkt im PR https://github.com/dersvenhesse/ios-grades/pull/3.
Der PR https://github.com/dersvenhesse/ios-grades/pull/3 ist integriert. Könntest du deine Hochschule nochmal testen? Wenn da alles passt, würde ich die Änderungen als neue Version einreichen.
Feine Sache, funktioniert einwandfrei!
Ok, die Version 2017.01.12
ist eingereicht und sollte in den nächsten Tagen als Update freigegeben werden.
Ich hoffe noch, dass besagte A44
in der URL nicht spezifisch für deinen Studiengang ist, sonst müsste dieser Wert auch zunächst aus einer der vorigen Seiten geparst werden. Falls dies der Fall ist, müssten wir da ggf. nochmal zusammen schauen.
Hey,
wäre es möglich die TU Kaiserslautern auch noch der Datei schools.swift hinzuzufügen?
School( key: "tukl", name: "Technische Universität Kaiserslautern", order: "K", url: "qis.verw.uni-kl.de" ),