Re: AutoRemote EventGhost plugin:EG->Android and Android->EG
Posted: Mon Jan 07, 2013 4:06 pm
Sorry, I incorrectly tried.
I still have to continue.
Pako
I still have to continue.
Pako
Support Forum
http://www.eventghost.net:80/forum/
Code: Select all
self.devices = [AutoRemoteDevice(*i) for i in devices]Code: Select all
if len(devices) > 0:
if(isinstance(devices[0], AutoRemoteDevice)):
self.devices = devices
else:
self.devices = [AutoRemoteDevice(*i) for i in devices]I do not know.joaomgcd wrote:Any idea why pickler doesn't correctly support the AutoRemoteDevice class?
You can do it (simply) like this:joaomgcd wrote: But there's just one problem: if a user doesn't open and save the AutoRemote plugin configuration at least once after using this version, they will still get the error because EventGhost still wouldn't use the tuple instead of the AutoRemoteDevice object.
Any way to force EventGhost to save the plugin's configuration without the user manually going into the plugin settings dialog and clicking "Ok"?
Code: Select all
if len(devices) > 0:
if(isinstance(devices[0], AutoRemoteDevice)):
self.devices = devices
trItem = self.info.treeItem
args = list(trItem.GetArguments())
args[3] = [AutoRemoteDevice(*i) for i in devices]
eg.actionThread.Func(trItem.SetArguments)(args)
eg.document.SetIsDirty()
eg.document.Save()
else:
self.devices = [AutoRemoteDevice(*i) for i in devices]
self.port = port
self.publicIp = publicIp
self.dname = dname
self.server = MyServer(RequestHandler, port)
self.server.Start()
def __stop__(self):
self.server.Stop()Code: Select all
if len(devices) > 0:
if(isinstance(devices[0], AutoRemoteDevice)):
self.devices = devices
trItem = self.info.treeItem
args = list(trItem.GetArguments())
args[3] = [AutoRemoteDevice(*i) for i in devices]
eg.actionThread.Func(trItem.SetArguments)(args)
eg.document.SetIsDirty()
wx.CallAfter(self.SaveConfig)
else:
self.devices = [AutoRemoteDevice(*i) for i in devices]
self.port = port
self.publicIp = publicIp
self.dname = dname
self.server = MyServer(RequestHandler, port)
self.server.Start()
def SaveConfig(self):
from eg.Classes.Document import SaveChangesDialog
dialog = SaveChangesDialog(eg.document.frame)
result = dialog.ShowModal()
dialog.Destroy()
if result == wx.ID_YES:
eg.document.Save()
def __stop__(self):
self.server.Stop()Code: Select all
eg.actionThread.Func(trItem.SetArguments)(args) Code: Select all
Traceback (most recent call last) (1582):
File "C:\Program Files\EventGhost\eg\Classes\ThreadWorker.py", line 326, in __DoOneEvent
self.HandleAction(action)
File "C:\Program Files\EventGhost\eg\Classes\ThreadWorker.py", line 289, in HandleAction
action()
File "C:\Program Files\EventGhost\eg\Classes\ThreadWorker.py", line 62, in __call__
self.returnValue = self.func(*self.args, **self.kwargs)
File "C:\Program Files\EventGhost\eg\Classes\EventThread.py", line 142, in StartSession
actionThread.Func(actionThread.StartSession, 120)(filename)
File "C:\Program Files\EventGhost\eg\Classes\ThreadWorker.py", line 214, in Wrapper
raise Exception("Timeout while calling %s" % func.__name__)
Exception: Timeout while calling StartSessionCode: Select all
if len(devices) > 0:
if(isinstance(devices[0], AutoRemoteDevice)):
self.devices = devices
wx.CallAfter(self.SaveConfig, devices)
else:
self.devices = [AutoRemoteDevice(*i) for i in devices]
self.port = port
self.publicIp = publicIp
self.dname = dname
self.server = MyServer(RequestHandler, port)
self.server.Start()
def SaveConfig(self, devices):
trItem = self.info.treeItem
args = list(trItem.GetArguments())
args[3] = [(i.name, i.url, i.key) for i in self.devices]
eg.actionThread.Func(trItem.SetArguments)(args)
eg.document.SetIsDirty()
eg.document.Save()
def __stop__(self):
self.server.Stop()Code: Select all
if len(devices) > 0:
if(isinstance(devices[0], AutoRemoteDevice)):
self.devices = devices
wx.CallAfter(self.SaveConfig, devices)
else:
self.devices = [AutoRemoteDevice(*i) for i in devices]
self.port = port
self.publicIp = publicIp
self.dname = dname
self.server = MyServer(RequestHandler, port)
self.server.Start()
def SaveConfig(self, devices):
trItem = self.info.treeItem
args = list(trItem.GetArguments())
args[3] = [(i.name, i.url, i.key) for i in self.devices]
eg.actionThread.Func(trItem.SetArguments)(args)
eg.document.SetIsDirty()
dialog = eg.Classes.Document.SaveChangesDialog(eg.document.frame)
result = dialog.ShowModal()
dialog.Destroy()
if result == wx.ID_YES:
eg.document.Save()
def __stop__(self):
self.server.Stop()B is correct.joaomgcd wrote:By the way, how do I apply to be part of the "official" EventGhost plugins? Or is that not open right now?
This is amazing!joaomgcd wrote:Better than that, you'll get all my apps for free.