Seite 16 von 18

Re: BeanShell - Textdatei auslesen

Verfasst: 09 Mai 2015, 19:29
von Sheldon2012
Das ist klar. Aber Jo meinte ja, das dies nur bei gewissen Anbietern der Fall ist.
Wenn ich diese kennen würde, könnte ich die ja gesondert behandeln.

Die Liste der Länder/Sprachen ist also die maximal mögliche, ja?

Re: BeanShell - Textdatei auslesen

Verfasst: 09 Mai 2015, 19:50
von Jo
Wie soll das möglich sein? Wenn jetzt jemand kommt und Sender aus Niederlanden anbieten will, können wir doch nicht sagen "Darfst du nicht, die Länderkennung darf nicht genommen werden".

Re: BeanShell - Textdatei auslesen

Verfasst: 09 Mai 2015, 20:05
von Sheldon2012
Natürlich könnt ihr das nicht verweigern. Aber ds10 shcrieb doch, das dies die Referenzliste der Länder/Sprachen ist.
Habe ich da was falsch verstanden?

Dann habe ich Dich wohl missverstanden. Du hast von einer Pseudo-Kennung gesprochen.
Ok, die Niederlande gehören nicht zu den möglichen Ländern (wenn das dann so ist). Also würde ein solcher Anbieter eine der möglichen Kennungen wählen. Das ist das,was Du gemeint hat, richtig?
Wisst ihr denn, welcher Anbieter das macht?
Ihr müsst doch einen Überblick über die Anbieter und deren allgemeinen Dateninhalte, zumindest Länderkennungen, haben, die Stand heute verwendet werden können.

Re: BeanShell - Textdatei auslesen

Verfasst: 09 Mai 2015, 20:46
von Jo
Ich glaube ich verstehe dich nicht oder umgekehrt. Jeder kann Daten anbieten. Über "unser" EPGfree-Datenplugin oder ein eigenes. Dabei kann er jede der möglichen ISO-Länderkennung benutzen die er für richtig hält.
Die Plugins die wir kennen sind auf der Webseite zum Download. Vielleicht gibt es noch andere.
Da wo warum auch immer nicht bekannt ist, aus welchem Land ein Sender ist, werden auch Pseudo- oder dann falsche Kennungen verwendet. Beim Plugin DataHydra ist z.B. 3sat als "norwegisch" angegeben.
Also gibt es keine Garantien.

Re: BeanShell - Textdatei auslesen

Verfasst: 09 Mai 2015, 21:29
von Sheldon2012
Danke für die Klarstellung! Ich glaube, da haben wir uns anfänglich einfach missverstanden.
Aber das kann ja mal passieren. Also sind theoretisch alle Kennungen der ISO 3166 (genauer ISO 3166-1) möglich.
Dann weiss ich, wie ich die Logik aufbauen muss.

Erst einmal vielen Dank für die Hinweise und Antworten an ds10 und Dich!

Re: BeanShell - Textdatei auslesen

Verfasst: 15 Mai 2015, 22:02
von Sheldon2012
ds10 hat geschrieben:Nein, es hängt ausschließlich von den verwendeten Datenplugins ab. Jeder Sender hat mindestens ein zugehöriges Land (manche auch mehr wie z.B. 3sat). In der UniqueID wird immer das erste Land eines Senders verwendet. Du kannst aber von einer Sendung mit program.getChannel().getAllCounties() auch alle Länder eines Senders direkt abrufen.
Ich wollte zur Sicherheit mal kurz nachfragen. Bevor ich da etwas falsch verstehe.
Wenn ich program.getChannel().getAllCounties() anwende, erhalte ich immer die Länder eines Senders. Dies ist unabhängig vom Wert in program. Daher muß ich die Daten pro Sender nur einmal ablegen. Richtig?
ich denke da an eine HashMap mit dem Key Sender.

Re: BeanShell - Textdatei auslesen

Verfasst: 15 Mai 2015, 22:15
von ds10
Ja, die genannte Methode gibt dir ein Array mit den Ländern des Senders an. In der Regel wird das Array immer nur einen Eintrag haben, da nur sehr wenige Sender mehreren Ländern zugeordnet sind. Eigentlich sollten das nur Arte und 3sat sein.

Re: BeanShell - Textdatei auslesen

Verfasst: 15 Mai 2015, 22:50
von Sheldon2012
Das habe ich schon gemerkt. Danke! Die zugehörigen Sprachen kann ich ja dann über die installierten Locales ermitteln. Das sollte zuerst ja mal reichen.

Re: BeanShell - Textdatei auslesen

Verfasst: 18 Mai 2015, 23:27
von Sheldon2012
Wenn für eine Sendung im Feld Herkunft mehrere Länder aufgeführt sind, habe ich hinsichtlich der Sprache der Originalversion der Sendung ein kleines aber nicht unwesentlcihes Problem.

Beispiel: Italien/Spanien

Ist die Sprache der Orignalsendung nun Italienisch oder Spanisch? Das ist ja schon ein kleiner Unterschied. :)
Gibt es da eine Konvention? Wird vielleicht immer die Sprache des ersten aufgeführten Landes genommen?
Sonst hätte man ja auch Spanien/Italien hinterlegen können.

Re: BeanShell - Textdatei auslesen

Verfasst: 20 Mai 2015, 18:00
von Jo
Der Inhalt des Felds "Herkunft" sagt nichts über die Sprache aus. Beim US-Film "Passion Christi" wird "USA" drinstehen, Sprache ist Aramäisch und Latein.

Re: BeanShell - Textdatei auslesen

Verfasst: 20 Mai 2015, 20:13
von Sheldon2012
Nehmen wir mal an, ich hätte eine Sendung, die als OV gekennzeichnet ist.
Kann ich dann im TV-Browser nicht feststellen, welcher Sprache OV entspricht?
Oder ist es eher der Fall, dass man schon die Herkunft heranziehen kann und Dein Beispiel nur eine Ausnahme darstellt?

Re: BeanShell - Textdatei auslesen

Verfasst: 20 Mai 2015, 23:07
von Jo
Du hast ja selbst ein Beispiel genannt. In den meisten Fällen wenn ein Land da steht und dort nur eine Sprache gesprochen wird, ist es auch die Sprache. Aber bei internationalen Produktionen ist es oft nicht klar. Teilweise werden auch mehrere Sprachen gesprochen.
Bei SRF und ORF steht die Sprache bei 2-Kanalton meistens dabei, bei ZDF Kultur bei OmU auch oft, bei anderen Sender eher nicht.

Re: BeanShell - Textdatei auslesen

Verfasst: 21 Mai 2015, 17:02
von Sheldon2012
Dann scheint es doch für den ersten Schritt eine gute Idee zu sein, wenn man prüft, ob das Feld Herkunft nur mit einem Land gefüllt ist. Wenn dies so ist, ist im Falle von OV bzw. OmU die Sprache des jeweiligen Landes die Sprache der Sendung.
Für den Fall mehrerer Länder im Feld Hekunft muß man sich halt noch etwas einfallen lassen. :)

Re: BeanShell - Textdatei auslesen

Verfasst: 07 Jul 2015, 21:56
von Sheldon2012
Kann ich in die Werkzeugleiste des TV-Browsers für die Datenaktualisierung einen JButton einbringen?
Das scheint mir schwierig zu sein, oder?

Re: BeanShell - Textdatei auslesen

Verfasst: 07 Jul 2015, 23:29
von ds10
Buttons in der Werkzeugleiste entsprechen den Befehlen, die man durch Überschreiben der Methode getButtonAction() aus devplugin.Plugin erhält, einen Button bereitzustellen ist also nicht wirklich schwierig.

Du könntest dann den aktuellen Filter prüfen, ob er von Typ tvbrowser.core.filters.UserFilter ist und dann davon die Filterregel abrufen und daraus dann die Filterkomponenten prüfen. Sicher wäre das kompliziert und eigentlich ein Verstoß gegen die Regel, dass man nicht auf Klassen in tvbrowser.core zugreifen sollte.

Es gibt aber eine Alternative, indem du zusätzlich zur Filterkomponente auch direkt Filter anbietest, das kann ein Plugin auch. Das wird durch das Überschreiben von getAvailableFilter() aus devplugin.Plugin gemacht. Dann bräuchte man nur noch prüfen, ob der Filter vom Plugin angeboten wird und da das Plugin alle eigenen Filter kennt, diesen dann aktualisieren. Für alle Fälle in denen man keine Kombination mit einem anderen Filter braucht, würde das reichen.

Oder aber du baust in die Filterkomponente eine Variable ein, in der das letzte Änderungsdatum der CSV-Datei abgelegt wird und bei jedem Aufruf von accept(Program) wird das aktuelle Änderungsdatum mit dem gespeicherten verglichen und bei fehlender Übereinstimmung wird das Datei neu geladen. Das ginge dann ganz ohne Button, würde sich allerdings auch nur auswirken, wenn der Filter auch tatsächlich neu geprüft wird.