def device_connect()

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)