BeanShell - Textdatei auslesen

Bei Problemen mit der Bedienung von TV-Browser, bitte hier posten.
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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?
Jo
Site Admin
Beiträge: 11816
Registriert: 07 Apr 2006, 23:39

Re: BeanShell - Textdatei auslesen

Beitrag 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".
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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.
Jo
Site Admin
Beiträge: 11816
Registriert: 07 Apr 2006, 23:39

Re: BeanShell - Textdatei auslesen

Beitrag 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.
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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!
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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.
ds10
Site Admin
Beiträge: 19119
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: BeanShell - Textdatei auslesen

Beitrag 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.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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.
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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.
Jo
Site Admin
Beiträge: 11816
Registriert: 07 Apr 2006, 23:39

Re: BeanShell - Textdatei auslesen

Beitrag 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.
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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?
Jo
Site Admin
Beiträge: 11816
Registriert: 07 Apr 2006, 23:39

Re: BeanShell - Textdatei auslesen

Beitrag 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.
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag 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. :)
Sheldon2012
Plugin-Developer
Beiträge: 1206
Registriert: 25 Dez 2012, 07:35

Re: BeanShell - Textdatei auslesen

Beitrag von Sheldon2012 »

Kann ich in die Werkzeugleiste des TV-Browsers für die Datenaktualisierung einen JButton einbringen?
Das scheint mir schwierig zu sein, oder?
ds10
Site Admin
Beiträge: 19119
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: BeanShell - Textdatei auslesen

Beitrag 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.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten