widget source

  • hi, habe gesehen, dass bei widgets unterschiedliche sources angegeben werden koennen:

    - source="ServiceEvent"

    . source="session.CurrentService"

    - source="session.AdvancedMovieSelection"

    koennte mir vielleicht jemand kurz jemand die verwendung dieser sources erklaeren? danke.

  • widgets brauchen unterschiedliche Daten und deshalb wird die entsprechende Source verwendet. Verstehe grad nicht, was du genau suchst.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Die source richtet sich logischerweise immer nach dem Zweck der Ausgabe im Screen.

    Diese Sources sind grundsätzlich im /usr/lib/enigma2/python/Components/Sources/ hinterlegt.


    Meistens werden sie im __init__ des screens gesetzt.

    z.B. self["ServiceEvent"] = ServiceEvent()

    https://github.com/opendreambo…rch/src/EPGSearch.py#L186

    wobei das ServiceEvent aus den Sources importiert ist.

    https://github.com/opendreambo…arch/src/EPGSearch.py#L25


    Bestimmte Sources sind direkt über die session eingebunden (daher dann session.):

    /usr/lib/enigma2/python/Screens/SessionGlobals.py


    session.AdvancedMovieSelection konnte ich jetzt bei mir auf die Schnelle nicht finden.


    Ich hoffe, ich habe deine Frage richtig verstanden :winking_face:

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Nee, in den sourcen, da es ja in session ist. Wird dann einfach nicht verwendet.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Da frage ich mich ja nur, wo er das gefunden hat source="session.AdvancedMovieSelection".

    Und nur was in den Sources liegt, rutscht doch nicht automatisch in die Session, oder ?

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • es gibt auch noch

    - source="Service"


    mein problem ist, dass ich noch nicht so richtig verstehe, welcher source code bei welcher source=xy aufgerufen wird.

  • self["Service"] ist dann fuer source="Service"

    self["ServiceEvent"] fuer source="ServiceEvent"

    sessionGlobals.py fuer source="session.xyz"... wobei source="session.AdvancedMovieSelection" irgendwo aus dem ams code kommen muss

  • Ja, ganz grob könnte man das so sagen :winking_face:

    Wobei dann bei self["Service"] = xyz() für xyz auch eine source gesetzt sein muss.


    Wenn ich self["Service"]=Label("") setzte, ist es noch lange keine source, die ich dann im Skin mit source="Service" ansprechen kann.

    Das ginge maximal mit self["Service"]=StaticText(""), weil STaticText eine source ist :winking_face:


    Wobei das "Service" jetzt nur beispielhaft verwendet wurde und inhaltlich sicher eine andere Verwendung hat :winking_face:

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • ich vermute mal, dass

    self.session.screen["AdvancedMovieSelection"].newService(self.getCurrent())

    die verknuepfung mit source="session.AdvancedMovieSelection" herstellt.


    aber warum da self.session.screen["AdvancedMovieSelection"] verwendet wird und nicht self["AdvancedMovieSelection"] ist mir nicht klar.

  • das mit global und nur in einem screen verstehe ich irgendwie noch nicht.

    hab mal testweise den renderer AdvancedMovieSelectionImageRenderer.py bei mir in die Components/Renderer getan und im skin das widget

    <widget default="extensions/nocover_de.png" position="1235,280" render="AdvancedMovieSelectionImageRenderer"

    size="156,240" source="Service" type="cover"> eingefuegt...

    und schwups wird das movie cover angezeigt, ohne dass ich im eigentlich plugin eine einzige aenderung gemacht hab. klasse :smiling_face:

    wenn ich source="session.CurrentService" angebe, geht es nicht... warum? weil das nur geht, wenn ich ne aufnahme abspiele und nicht wenn ich in der movieliste bin?

    und wozu braucht man noch zusaetzlich source="session.AdvancedMovieSelection"?

    sorry, bin sehr wahrscheinlich ein "slow learner"...

  • alpha

    Es hat sich unser Programmier was dabei gedacht das auch mit aufzunehmen um cover oder backdrops anzeigen lassen zu können und such dir nicht immer Plugins wo du garnicht weißt warum wir das da so machen ,du musst auch nicht wissen warum wir das machen ,es hat seine Gründe und gut .

    Ich hatte mir etwas bestimmtes gewünscht um etwas realisieren zu können mit den covern und backdrops der AMS und unser Programmierer hat es umgesetzt .

    Es führten mittlerweile viele Wege im dreamos an ein Ziel daher gibt es in der AMS auch mehrere Wege da dies zu nutzen und FAS sollte dir als Antwort doch reichen .:winking_face:

    2 Mal editiert, zuletzt von zombi ()

  • Ich halte das nicht geheim ,lies was ich schrieb:winking_face: .

    Das gehört zur ams und dem render so das man in den screens wo man es gern möchte halt auch cover und backdrop bilder der gusuchten filme anzeigen lassen kann ,nicht in jedem screen kann man immer das anzeigen lassen und man brauch halt auch mal mehr Möglichkeiten ,daher wurden verschiedene source ermöglicht um das dann nutzen zu können.

    Wie gesagt es gibt Gründe warum man etwas baut man muss aber ja nicht immer jedem seine Gründe erläutern .

    PS. Freut euch doch einfach wenn etwas geht mit dem was man euch zur Verfügung stellt.:smiling_face:

    3 Mal editiert, zuletzt von zombi ()