Wie Datumswechsel in den Rohdaten behandeln?
Wie Datumswechsel in den Rohdaten behandeln?
Wie kann man am einfachsten mit einem Datumswechsel umgehen, wenn man eine modifizierte SimplePDS verwendet?
Die Startzeit wird mit
frame.addProgramField(ProgramField.create(ProgramFieldType.START_TIME_TYPE, h*60+m));
angegeben. Bei einer Sendung, die nach 0:00 Uhr anfängt (also eigentlich nächster Tag) führt das dazu, dass sie im TVB dem Morgen des aktuellen Tags zugerechnet wird.
Bisher habe ich es einfach so gemacht, dass ich bei Anfangszeiten < 5 Uhr "h+24" genommen habe. Das klappt aber nicht, wenn ich mit END_TIME_TYPE auch den Sendeschluss angeben will.
Die Funktion extract wird ja schon mit dem ProgramFrameDispatcher und dem Datum ausgeführt, deshalb kann man ja nicht einfach die Sendungen, die nach 0h anfangen auslassen und dem nächsten Tag (nächsten dispatcher) überlassen. Wie macht man es am besten?
Die Startzeit wird mit
frame.addProgramField(ProgramField.create(ProgramFieldType.START_TIME_TYPE, h*60+m));
angegeben. Bei einer Sendung, die nach 0:00 Uhr anfängt (also eigentlich nächster Tag) führt das dazu, dass sie im TVB dem Morgen des aktuellen Tags zugerechnet wird.
Bisher habe ich es einfach so gemacht, dass ich bei Anfangszeiten < 5 Uhr "h+24" genommen habe. Das klappt aber nicht, wenn ich mit END_TIME_TYPE auch den Sendeschluss angeben will.
Die Funktion extract wird ja schon mit dem ProgramFrameDispatcher und dem Datum ausgeführt, deshalb kann man ja nicht einfach die Sendungen, die nach 0h anfangen auslassen und dem nächsten Tag (nächsten dispatcher) überlassen. Wie macht man es am besten?
Ich habe es noch nicht ganz verstanden, bzw. es funktioniert noch nicht ganz. Folgendes Beispiel:
Sendung beginnt 1. Jan. 23:00, endet 2. Jan. 1:00. Die Startzeit füge ich mit
frame.addProgramField(ProgramField.create(ProgramFieldType.START_TIME_TYPE, h*60+m));
hinzu. Wie bekomme ich die Endzeit hin? Nehme ich
frame.addProgramField(ProgramField.create(ProgramFieldType.END_TIME_TYPE, hEnd*60+mEnd));
dann liegt die Endzeit vor der Startzeit und wird nicht akzeptiert. Nehme ich
frame.addProgramField(ProgramField.create(ProgramFieldType.END_TIME_TYPE, (24 + hEnd) *60+mEnd));
(also Ende um 25:00 Uhr) wird das auch nicht akzeptiert.
Sendung beginnt 1. Jan. 23:00, endet 2. Jan. 1:00. Die Startzeit füge ich mit
frame.addProgramField(ProgramField.create(ProgramFieldType.START_TIME_TYPE, h*60+m));
hinzu. Wie bekomme ich die Endzeit hin? Nehme ich
frame.addProgramField(ProgramField.create(ProgramFieldType.END_TIME_TYPE, hEnd*60+mEnd));
dann liegt die Endzeit vor der Startzeit und wird nicht akzeptiert. Nehme ich
frame.addProgramField(ProgramField.create(ProgramFieldType.END_TIME_TYPE, (24 + hEnd) *60+mEnd));
(also Ende um 25:00 Uhr) wird das auch nicht akzeptiert.
Die Rohdaten kommen von der Website. Z.B. 3. Mai (Daten).
Die letzte Sendung ist um 23.50 "Lystløgneren", als Schluss ist Slutt: 01.12 angegeben. Der dayprogramfiletranslator zeigt für den 3.5. als letzten Eintrag:
Program ID: 52
net playing time: 82
start time: 23:50
title: Lystløgneren
...
Ich habe es auch so versucht, dass dort auch "end time 1:12" oder "end time 25:12" mit oder ohne "net playing time" steht.
Egal wie, TV-Browser zeigt in der Sendungsanzeige: "Lystløgneren 395 min (bis 6:25 - 82 min netto)" (bzw. wenn ich "net playing time" nicht angebe natürlich nicht die Nettozeit).
Die letzte Sendung ist um 23.50 "Lystløgneren", als Schluss ist Slutt: 01.12 angegeben. Der dayprogramfiletranslator zeigt für den 3.5. als letzten Eintrag:
Program ID: 52
net playing time: 82
start time: 23:50
title: Lystløgneren
...
Ich habe es auch so versucht, dass dort auch "end time 1:12" oder "end time 25:12" mit oder ohne "net playing time" steht.
Egal wie, TV-Browser zeigt in der Sendungsanzeige: "Lystløgneren 395 min (bis 6:25 - 82 min netto)" (bzw. wenn ich "net playing time" nicht angebe natürlich nicht die Nettozeit).
Ich habe mir gedacht, dass ich als Workaround in diesen Fällen eine Sendung namens "Sendeschluss" (bzw. "Slutt") einfüge. Wäre vielleicht allgemein gut, wenn es für TVB eine "Sondersendung" Sendepause gäbe. Die könnte dann anders (oder gar nicht) im TVB angezeigt werden und an die lokale Sprache angepasst werden. Und das DataViewerPlugin würde nicht mehr meckern, dass die Daten unvollständig sind, obwohl doch nur der Sender kein 24h-Programm hat.