plugin data > source > converter > skin

  • hatte mich bereits vor 3 jahren oder so mit dem thema beschaeftigt aber trotz einiger erklaerungen (thanks) nicht so recht geblickt, wie man daten aus einem plugin heraus im skin anzeigt.

    als wuergaround hatte ich einfach einen converter vergewaltigt und direkt eine plugin-routine importiert und aufgerufen.

    jetzt habe ich mich nochmal damit beschaeftigt und das ganze mit einer source-komponente implementiert.

    hier mein giveback an die community:

    die source-kompnente "mysource":

    MySource besorgt also data von der plugin-routine getData. die variable data wird dann an den converter uebergeben.

    im plugin wird MySource wie folgt eingebunden:

    Python
    from Components.Sources.MySource import MySource
    
    class MyPlugin():
        def __init__(self):
            ...
            self["MySource"] = MySource(self)
    
        def getData(self):
            ...
            return data

    im converter MyConverter werden die daten mit self.source.data von der source geholt:

    Code
    class MyConverter(...):
        ...
        data = self.source.data

    wie genau die verknuepfung von data in der source und self.source.data im converter passiert habe ich noch nicht herausgefunden, aber es funktioniert ;)

    und im skin werden dann die daten mit einem widget wie folgt angezeigt:

    Code
    <widget source="MySource" ... >
          <convert type="MyConverter">what</convert>
    </widget>

    vielleicht kann es ja mal jemand gebrauchen ;)