Beispiel #1
0
    def reqOpenUrl(self, operation):
        def callback(orderID, dbID, success, datas):
            if uid != orderID:
                return
            if self.client:
                b = Bytes(datas)
                self.client.onOpenUrl(operation, b.get("url", ""))
            self.release()

        data = dict()
        passed = False
        for d in self.openUrlData(operation):
            if isinstance(d, dict):
                data.update(d)
                passed = True
        if not passed:
            return
        self.addRef()
        uid = str(KBEngine.genUUID64())
        KBEngine.charge(
            uid, self.databaseID,
            Bytes(interface="openUrl",
                  id=self.guaranteeID,
                  operation=operation,
                  data=data).dumps(), callback)
Beispiel #2
0
    def syncData(self):
        def callback(orderID, dbID, success, datas):
            if uid != orderID:
                return
            data = Bytes(datas)
            dataList = data.get("x", [])
            self.consumeData(dataList)
            if self.client:
                self.client.onSyncData()
            self.release()

        self.addRef()
        uid = str(KBEngine.genUUID64())
        KBEngine.charge(uid, self.databaseID,
                        Bytes(interface="syncData", pk=self.pk).dumps(),
                        callback)
Beispiel #3
0
    def interfaceOperate(self, operate, t, d, c=None):
        def callback(orderID, dbid, success, datas):
            if uid != orderID:
                return
            data = Bytes(datas)
            if c:
                c(self, data)
            if self.client:
                self.client.onOperate(operate, t, python_client(data))
            self.release()

        self.addRef()
        uid = str(KBEngine.genUUID64())
        KBEngine.charge(
            uid, self.databaseID,
            Bytes(interface="operate", operate=operate, type=t,
                  data=d).dumps(), callback)