Wie Filterkomponente "Sendungen ohne Bewertung" erstellen?

Bei Problemen mit der Bedienung von TV-Browser, bitte hier posten.
Antworten
Vogel

Wie Filterkomponente "Sendungen ohne Bewertung" erstellen?

Beitrag von Vogel »

Hallo

Ich möchte eine Filterkomponente erstellen, die alle Sendungen findet, die noch nicht bewertet ("gewöhnliche" Bewertung, nicht etwa IMDB) sind. Ist das möglich? Und wenn ja, wie?
Bananeweizen
Site Admin
Beiträge: 3353
Registriert: 09 Sep 2006, 22:45

Re: Wie Filterkomponente "Sendungen ohne Bewertung" erstelle

Beitrag von Bananeweizen »

Was genau ist mit Bewertung gemeint? DIe Angabe "Bewertung 8,5/10" in der Sendungsinfo? Wenn ja, dann hilft ein BeanShell-Filter:

Code: Alles auswählen

import devplugin.beanshell.BeanShellProgramFilterIf;
import devplugin.Program;
import devplugin.ProgramFieldType;

accept(Program p) {


        int rating = p.getIntField(ProgramFieldType.RATING_TYPE); 
        if (rating != null && rating > 0) {
            return false; 
        } 
        return true; 
}

return (BeanShellProgramFilterIf) this;
Vogel

Re: Wie Filterkomponente "Sendungen ohne Bewertung" erstelle

Beitrag von Vogel »

Danke für die Antwort.

Ich meine die Angaben des Plugins "Bewertungen". Viele Sendungen sind ja bewertet mit "Mies", "Schwach", "Gut", "Sehr gut", "Ausgezeichnet" oder "Spitzenklasse". Viele andere haben nur den Eintrag "Sendung bewerten" und sind offenbar nicht bewertet. Diese möchte ich finden. Das angegebene BeanShell-Filter scheint aber etwas anderes zu tun (ich habe aber nicht herausgefunden, was), ich habe es ausprobiert. Dein Filter scheint mir auf den ersten Blick plausibel, wenn auch der null-Test und der Integer-Vergleich auf der gleichen Variablen für mich ungewohnt ist. Ich kenne mich mit BeanShell und den TV-Browser-Objekten aber leider nicht aus.
Vogel

Re: Wie Filterkomponente "Sendungen ohne Bewertung" erstelle

Beitrag von Vogel »

Scheinbar muss ich den TV-Browser neu starten, damit die veränderten BeanShell-Filter laufen. Aber nun funktioniert der Filter immer noch nicht, er lässt alle Sendungen durch.

@ Bananeweizen: Sollte der Filter, den du mir angegeben hast, genau das tun, was ich wollte? Oder was?
Vogel

Re: Wie Filterkomponente "Sendungen ohne Bewertung" erstelle

Beitrag von Vogel »

Ich habe mir euer Javadoc heruntergeladen und denke nun, dass folgender BeanShell-Filter besser für meine Zwecke wäre:

Code: Alles auswählen

    import devplugin.beanshell.BeanShellProgramFilterIf;
    import devplugin.Program;
    import tvraterplugin.TVRaterPlugin;
    import tvraterplugin.Rating;

    accept(Program p) {

        Rating rating = TVRaterPlugin.getInstance().getRating(p);
        if (rating != null)
        {
             return false;
        }

        return true;
    }

    return (BeanShellProgramFilterIf) this;
Aber es ist mir unklar, warum die Zeile

Code: Alles auswählen

Rating rating = TVRaterPlugin.getInstance().getRating(p);
Fehlermeldungen verursacht.
Es heisst dann unter anderem: "Class: Rating not found in namespace". Was kann man da machen?
ds10
Site Admin
Beiträge: 19139
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Wie Filterkomponente "Sendungen ohne Bewertung" erstelle

Beitrag von ds10 »

Das geht mit einer Filterkomponente Bewertung filtern (Gesamtbewertung) einfacher, von Mies an aufwärts soll die Filterkomponente akzeptieren, wenn man dann in dem Filter NOT Name_Bewertungskomponente angibt, sollten alle Sendungen, die keine Bewertung haben, die mindestens mies ist angezeigt werden.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Vogel

Re: Wie Filterkomponente "Sendungen ohne Bewertung" erstelle

Beitrag von Vogel »

Danke, ds10, das funktioniert!

Trotzdem würde mich noch interessieren, ob ich in meinem BeanShell-Filter etwas falsch gemacht habe.

Ich habe Version 2.7.6 des TV-Browsers.
Antworten