BeanShell - Textdatei auslesen
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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?
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
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".
Biete selber TV-Daten an / Provide TV data yourself • Film-/Serienbeschreibungen → https://www.omdb.org
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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.
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
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.
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.
Biete selber TV-Daten an / Provide TV data yourself • Film-/Serienbeschreibungen → https://www.omdb.org
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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!
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!
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
Ich wollte zur Sicherheit mal kurz nachfragen. Bevor ich da etwas falsch verstehe.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.
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
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
Unterstütze die Weiterentwicklung von TV-Browser
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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.
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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.
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
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.
Biete selber TV-Daten an / Provide TV data yourself • Film-/Serienbeschreibungen → https://www.omdb.org
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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?
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
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.
Bei SRF und ORF steht die Sprache bei 2-Kanalton meistens dabei, bei ZDF Kultur bei OmU auch oft, bei anderen Sender eher nicht.
Biete selber TV-Daten an / Provide TV data yourself • Film-/Serienbeschreibungen → https://www.omdb.org
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
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.
Für den Fall mehrerer Länder im Feld Hekunft muß man sich halt noch etwas einfallen lassen.
-
- Plugin-Developer
- Beiträge: 1206
- Registriert: 25 Dez 2012, 07:35
Re: BeanShell - Textdatei auslesen
Kann ich in die Werkzeugleiste des TV-Browsers für die Datenaktualisierung einen JButton einbringen?
Das scheint mir schwierig zu sein, oder?
Das scheint mir schwierig zu sein, oder?
Re: BeanShell - Textdatei auslesen
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.
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
Unterstütze die Weiterentwicklung von TV-Browser