#58 Parser für Oskar-von-Miller-Gymn.

Closed
opened 4 years ago by Bixilon · 18 comments

Am Oskar-von-Miller-Gymn. funktioniert alles ein bisschen anders. Die Beispiel Datei hat den SHA1 Hash "fd0df2ce24". Solle über FTP auffindbar sein.

Zur Erklärung: Durchgestrichen vor dem '?' steht der eigentliche Raum, nach dem Fragezeichen der nächste. Eine Raum Vertretung ist es, wenn kein ? in der 'Vertreter' und Fach Spalte ist, allerdings eins in der 'Raum' Spalte.

Eine Fachänderung ist es, wenn bei Fach ein ? steht und evtl. bei Raum.

Eine Vertretung ist es, wenn ein ? in der Vertreter Spalte ist.

Entfall ist es, wenn in Raum '---' steht und kein ? in der Vertreter Spalte ist und der Name in der Vertreter Spalte durchgestrichen ist.

Was die Farben bedeuten, konnte mir Chris auch nicht sagen.

Wäre toll, wenn du einen ordentlichen Parser dafür entwickeln könntest

Danke

Moritz, (Chris)

Am Oskar-von-Miller-Gymn. funktioniert alles ein bisschen anders. Die Beispiel Datei hat den SHA1 Hash "fd0df2ce242b7ecc1c858780438750d0ee5e7ff2". Solle über FTP auffindbar sein. Zur Erklärung: Durchgestrichen vor dem '?' steht der eigentliche Raum, nach dem Fragezeichen der nächste. Eine Raum Vertretung ist es, wenn kein ? in der 'Vertreter' und Fach Spalte ist, allerdings eins in der 'Raum' Spalte. Eine Fachänderung ist es, wenn bei Fach ein ? steht und evtl. bei Raum. Eine Vertretung ist es, wenn ein ? in der Vertreter Spalte ist. Entfall ist es, wenn in Raum '---' steht und kein ? in der Vertreter Spalte ist und der Name in der Vertreter Spalte durchgestrichen ist. Was die Farben bedeuten, konnte mir Chris auch nicht sagen. Wäre toll, wenn du einen ordentlichen Parser dafür entwickeln könntest Danke Moritz, (Chris)
fynngodau commented 4 years ago
Owner

Theoretisch kann man einen durchgestrichenen und einen nicht durchgestrichenen, durch ? getrennten Teil zu den jeweiligen Master-Spalten mit und ohne OLD_-Präfix zuordnen.

Das wäre dann so, als wären die jeweiligen Informationen vernünftig in ihren eigenen Spalten; dann würden immer nur die Informationen nach dem ? angezeigt werden.

Theoretisch kann man einen durchgestrichenen und einen nicht durchgestrichenen, durch `?` getrennten Teil zu den jeweiligen Master-Spalten mit und ohne `OLD_`-Präfix zuordnen. Das wäre dann so, als wären die jeweiligen Informationen vernünftig in ihren eigenen Spalten; dann würden immer nur die Informationen nach dem `?` angezeigt werden.
Moritz Zwerger commented 4 years ago
Poster

Jip.

Jip.
fynngodau commented 4 years ago
Owner

Jetzt halte ich es für unwahrscheinlich, dass irgendeine Schule die gleiche Struktur für einen anderen Zweck verwendet, also können wir das so machen, ja.

Jetzt halte ich es für unwahrscheinlich, dass irgendeine Schule die gleiche Struktur für einen anderen Zweck verwendet, also können wir das so machen, ja.
Moritz Zwerger commented 4 years ago
Poster

Wir können ja auch die ID reinschreiben, dass das nur dabei angewandt wird, oder?

Wir können ja auch die ID reinschreiben, dass das nur dabei angewandt wird, oder?
fynngodau commented 4 years ago
Owner

Der Reader kann nicht wissen, aus welchem Plan eine bestimmte Datei ist, wegen des Offlinemodus, in welchem alle Dateien angezeigt werden.

Ist vermutlich auch besser, denn der Reader sollte nach Möglichkeit allgemeingültig sein.

Der Reader kann nicht wissen, aus welchem Plan eine bestimmte Datei ist, wegen des Offlinemodus, in welchem alle Dateien angezeigt werden. Ist vermutlich auch besser, denn der Reader sollte nach Möglichkeit allgemeingültig sein.
Moritz Zwerger commented 4 years ago
Poster

Stimmt. Solle für alle gelten und nicht nur für bestimmte

Stimmt. Solle für alle gelten und nicht nur für bestimmte
fynngodau commented 4 years ago
Owner

Meine ich auch.

Meine ich auch.
fynngodau commented 4 years ago
Owner

Wie wäre es hiermit?

diff --git a/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java b/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java
index 3b47201..574d1b0 100755
--- a/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java
+++ b/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java
@@ -161,6 +161,13 @@ public class Untis extends Reader {
 
                         String s = td.text();
 
+                        if (s.matches("<s(trike)*>.+</s(trike)*>\\?.*")) {
+                            // See https://notabug.org/fynngodau/DSBDirect/issues/58
+                            s = s.split("\\?")[1];
+
+
+                        }
+
                         if (td.hasClass("inline_header")) {
                             // This is an inline class definition
                             inlineClass = s;

Funktioniert nicht so gut, wenn mehr als ein Fragezeichen vorkommen.

Wie wäre es hiermit? ``` diff --git a/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java b/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java index 3b47201..574d1b0 100755 --- a/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java +++ b/app/src/main/java/godau/fynn/dsbdirect/table/reader/Untis.java @@ -161,6 +161,13 @@ public class Untis extends Reader { String s = td.text(); + if (s.matches("<s(trike)*>.+</s(trike)*>\\?.*")) { + // See https://notabug.org/fynngodau/DSBDirect/issues/58 + s = s.split("\\?")[1]; + + + } + if (td.hasClass("inline_header")) { // This is an inline class definition inlineClass = s; ``` Funktioniert nicht so gut, wenn mehr als ein Fragezeichen vorkommen.
Moritz Zwerger commented 4 years ago
Poster

Es sollte nie mehr als 1 Fragezeichen drinnen vorkommen.

Habe ich nicht getestet, aber sieht gut aus. Jetzt fände Chris es aber sicher geil, wenn auch steht, was es ist. Also Vertretung, Entfall,...

Es sollte nie mehr als 1 Fragezeichen drinnen vorkommen. Habe ich nicht getestet, aber sieht gut aus. Jetzt fände Chris es aber sicher geil, wenn auch steht, was es ist. Also Vertretung, Entfall,...
fynngodau commented 4 years ago
Owner

Ich sorge mich aber auch darum, wie es bei anderen Plänen sein könnte. Aber das kommt mir nach einer unwahrscheinlichen Kombination vor.

Jetzt fände Chris es aber sicher geil, wenn auch steht, was es ist. Also Vertretung, Entfall,...

Bei anderen Plänen steht das auch nicht drauf. Ich denke, es wird daraus ersichtlich, ob --- als Info dasteht und was durchgestrichen ist und was nicht.

Ich sorge mich aber auch darum, wie es bei anderen Plänen sein könnte. Aber das kommt mir nach einer unwahrscheinlichen Kombination vor. > Jetzt fände Chris es aber sicher geil, wenn auch steht, was es ist. Also Vertretung, Entfall,... Bei anderen Plänen steht das auch nicht drauf. Ich denke, es wird daraus ersichtlich, ob `---` als Info dasteht und was durchgestrichen ist und was nicht.
Moritz Zwerger commented 4 years ago
Poster

Bei anderen Plänen steht das auch nicht drauf. Ich denke, es wird daraus ersichtlich, ob --- als Info dasteht und was durchgestrichen ist und was nicht.

Ähm...Bei fast allen anderen gibt es eine Spalte Art. Aber stimmt, das wäre optional.

Mir fällt gerade etwas anderes auf....Bei uns steht manchmal als Vertreter ???. Das könnte ein Problem geben

>Bei anderen Plänen steht das auch nicht drauf. Ich denke, es wird daraus ersichtlich, ob --- als Info dasteht und was durchgestrichen ist und was nicht. Ähm...Bei fast allen anderen gibt es eine Spalte Art. Aber stimmt, das wäre optional. Mir fällt gerade etwas anderes auf....Bei uns steht manchmal als Vertreter ???. Das könnte ein Problem geben
fynngodau commented 4 years ago
Owner

Ähm...Bei fast allen anderen gibt es eine Spalte Art. Aber stimmt, das wäre optional.

Da mache ich mal kurz eine statistische Auswertung mit den mir vorhandenen Daten.

Mir fällt gerade etwas anderes auf....Bei uns steht manchmal als Vertreter ???. Das könnte ein Problem geben

Nein, nicht wenn kein <strike>…</strike> direkt vorm Fragezeichen steht.

> Ähm...Bei fast allen anderen gibt es eine Spalte Art. Aber stimmt, das wäre optional. Da mache ich mal kurz eine statistische Auswertung mit den mir vorhandenen Daten. > Mir fällt gerade etwas anderes auf....Bei uns steht manchmal als Vertreter ???. Das könnte ein Problem geben Nein, nicht wenn kein `<strike>…</strike>` direkt vorm Fragezeichen steht.
Moritz Zwerger commented 4 years ago
Poster

Nein, nicht wenn kein <strike>…</strike> direkt vorm Fragezeichen steht.

Stimmt. Wer lesen kann ist klar im Vorteil :)

Da mache ich mal kurz eine statistische Auswertung mit den mir vorhandenen Daten. Danke

>Nein, nicht wenn kein ```<strike>…</strike>``` direkt vorm Fragezeichen steht. Stimmt. Wer lesen kann ist klar im Vorteil :) >Da mache ich mal kurz eine statistische Auswertung mit den mir vorhandenen Daten. Danke
fynngodau commented 4 years ago
Owner

Etwa die Hälfte der Pläne hat so eine Spalte explizit

Etwa die Hälfte der Pläne hat so eine Spalte explizit
Moritz Zwerger commented 4 years ago
Poster

Okay. Dann korrigiere ich mich:

*die Hälfte

Okay. Dann korrigiere ich mich: *die Hälfte

So, hab mir auch mal nen Account hier erstellt. Danke schonmal fürs Implementieren. :)

Bei anderen Plänen steht das auch nicht drauf. Ich denke, es wird daraus ersichtlich, ob --- als Info dasteht und was durchgestrichen ist und was nicht.

Ja, das sehe ich auch so. Manchmal steht bei uns sowieso wenn was im Prinzip entfällt ne andere Info als --- (z.B. Mensa), von daher passt das für mich so.

So, hab mir auch mal nen Account hier erstellt. Danke schonmal fürs Implementieren. :) > Bei anderen Plänen steht das auch nicht drauf. Ich denke, es wird daraus ersichtlich, ob --- als Info dasteht und was durchgestrichen ist und was nicht. Ja, das sehe ich auch so. Manchmal steht bei uns sowieso wenn was im Prinzip entfällt ne andere Info als --- (z.B. Mensa), von daher passt das für mich so.
fynngodau commented 4 years ago
Owner

Super :)

Super :)
fynngodau commented 4 years ago
Owner

Ich hatte vermutet, dass sich das negativ auf die Performance auswirkt, aber nach ein paar Tests bin ich zum Ergebnis gekommen, dass diese nur geringfügig beeinflusst wird.

(Wobei das bei Android schwierig zu messen ist, weil die Zeit je nachdem, wie warm die App noch ist, stark variiert.)

Ich hatte vermutet, dass sich das negativ auf die Performance auswirkt, aber nach ein paar Tests bin ich zum Ergebnis gekommen, dass diese nur geringfügig beeinflusst wird. (Wobei das bei Android schwierig zu messen ist, weil die Zeit je nachdem, wie warm die App noch ist, stark variiert.)
Sign in to join this conversation.
No Milestone
No assignee
3 Participants
Loading...
Cancel
Save
There is no content yet.