Hallo
Also ich habe in /usr/share/gdesklets/Cortrol einen Ordner Webservice.
In diesem ist das Interface IWebservice
Code: Alles auswählen
from libdesklets.controls import Interface, Permission
class IWebservice(Interface):
host = Permission.READWRITE
port = Permission.READWRITE
context = Permission.READWRITE
user = Permission.READWRITE
pw = Permission.READWRITE
und die Datei __ini__.py
Code: Alles auswählen
from libdesklets.controls import Control
from IWebservice import IWebservice
class Webservice(Control, IWebservice):
def __init__(self):
self.__host = '10.0.0.170'
self.__port = 8080
self.__context = 'testws-1.0-SNAPSHOT'
self.__user = 'admin'
self.__pw = 'admin'
Control.__init__(self)
def set_host(self, h):
self.__host = h
def get_host(self):
return self.__host
def __set_port(self, p):
self.__port = p
def __get_port(self):
return 'holen des ports'
def __set_context(self, c):
self.__context = c
def __get_context(self):
return 'holen des contextes'
def __set_user(self, u):
self.__user = u
def __get_user(self):
return 'holen des users'
def __set_pw(self, pw):
self.__pw = pw
def __get_pw(self):
return 'holen des pws'
host = property(fget=get_host,fset=set_host, doc = "Host" )
port = property(fget=__get_port,fset=__set_port, doc = "Port" )
context = property(fget=__get_context,fset=__set_context, doc = "Context" )
user = property(fget=__get_user,fset=__set_user, doc = "User" )
pw = property(fget=__get_pw,fset=__set_pw, doc = "Passwort" )
def get_class(): return Webservice
Das hat alles funktioniert.
Jetzt wollte ich das ganze erweitern um weitere porperties und den Code für den Webserviceaufruf.
Ich habe ständig die Meldung bekommen, dass kein Control für das Interface definiert ist.
Da es mit test-control.py funktioniert hat, habe ich ein bischen länger gebraucht, dass ich gemerkt habe, dass beim Aufruf des Desklets nicht der aktualisierte Code von __init__.py genommen wird.
Das Interface wird aktualisert, bekommt bei Änderungen auch immer die neue Interfacenummer (in der gdesklet shell)
Da ich die __jni__.py schon öfters geändert habe und das auch funktuiert hat, bin ich ein bischen ratlos.
Da ich, wie gesagt, mit python und Ubunutu wenig Erfahrung habe, kann ich das Problem nicht wirklich lokalisieren.
Wird eine pyc Datei benötigt? Lösche ich diese weg, funktioniert der Aufruf auch. Starte ich die gdesklet shell, werden die pyc Dateien erstellt.
Legt python irgenwo eine Kopie an?
Komme ich vielleicht mit den python Versionen durcheinander ?
Viele Fragen....
Gruß
Georg