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":
from Components.Element import cached
from Components.Sources.Source import Source
class MySource(Source):
def __init__(self, plugin):
Source.__init__(self)
self.__plugin = plugin
@cached
def getData(self):
return self.__plugin.getData()
data = property(getData)
Alles anzeigen
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:
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:
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:
vielleicht kann es ja mal jemand gebrauchen