in leda_python/leda.py [0:0]
def device_connect(self):
with self.onofflineLock:
if (None == self.deviceMbusHandle):
wellKonwnName = mbusConfig.CMP_DEVICE_WKN_PREFIX + self.cloud_id
self.deviceMbusHandle = mbus.DeviceMbus(wellKonwnName)
else:
return
reply_cb = self._deviceConnect_relay_cb
error_cb = self._deviceConnect_error_cb
inparams = {
"productKey": self.product_key,
"driverName": self.driverName,
"deviceName": self.device_name,
"isLocal": mbusConfig.IS_LOCAL_FLAG
}
self.connectSync.clear()
self.deviceMbusHandle.connect(json.dumps(inparams, ensure_ascii = False), reply_cb, error_cb)
syncMsg = self.connectSync.wait(mbusConfig.MERHOD_SYNC_TIMEOUT)
if (None == syncMsg):
self.releaseMbusObject()
raise exception.LedaRPCMethodException("connect device time out", exception.LEDA_ERROR_TIMEOUT)
elif (False == syncMsg["state"]):
self.releaseMbusObject()
raise exception.LedaRPCMethodException("connect device failed", exception.LEDA_ERROR_FAILED)