beremiz

fix wrong Row number in DiscoveryDialog.py that caused following traceback:

Traceback (most recent call last):
File "/home/beremiz/beremiz/ProjectController.py", line 1536, in _Connect
dialog = DiscoveryDialog(self.AppFrame)
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 124, in __init__
self._init_ctrls(parent)
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 121, in _init_ctrls
self._init_sizers()
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 73, in _init_sizers
self._init_coll_ButtonGridSizer_Growables(self.ButtonGridSizer)
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 64, in _init_coll_ButtonGridSizer_Growables
parent.AddGrowableRow(1)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 15343, in AddGrowableRow
return _core_.FlexGridSizer_AddGrowableRow(*args, **kwargs)
PyAssertionError: C++ assertion "!m_rows || idx < (size_t)m_rows" failed at ../src/common/sizer.cpp(1967) in AddGrowableRow(): invalid row index
import gluon.contrib.simplejson as simplejson
import types
import sys
class JSONRPCServiceBase:
def __init__(self):
self.methods={}
def response(self, id, result):
return simplejson.dumps({'version': '1.1', 'id':id,
'result':result, 'error':None})
def error(self, id, code, message):
return simplejson.dumps({'id': id,
'version': '1.1',
'error': {'name': 'JSONRPCError',
'code': code,
'message': message
}
})
def add_method(self, name, method):
self.methods[name] = method
def process(self, data):
data = simplejson.loads(data)
id, method, params = data["id"], data["method"], data["params"]
if method in self.methods:
try:
result =self.methods[method](*params)
return self.response(id, result)
except BaseException:
etype, eval, etb = sys.exc_info()
return self.error(id, 100, '%s: %s' %(etype.__name__, eval))
except:
etype, eval, etb = sys.exc_info()
return self.error(id, 100, 'Exception %s: %s' %(etype, eval))
else:
return self.error(id, 100, 'method "%s" does not exist' % method)
def listmethods(self):
return self.methods.keys()