コード例 #1
0
ファイル: History.py プロジェクト: TakashiSasaki/odenkiapi
    def POST(self, jrequest, jresponse):
        assert isinstance(jrequest, JsonRpcRequest)
        assert isinstance(jresponse, JsonRpcResponse)
        jresponse.setId()

        product_name = jrequest.getPathInfo(3)
        serial_number = jrequest.getPathInfo(4)
        module_id = jrequest.getPathInfo(5)
        #self.response.headers.add_header(b"Set-Cookie", b"productName=%s" % product_name.encode())
        #self.response.headers.add_header(b"Set-Cookie", b"serialNumber=%s" % serial_number.encode())
        #self.response.headers.add_header(b"Set-Cookie", b"moduleId=%s" % module_id.encode())

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, Relays)
        for relay in jrequest.list:
            relays.setExpectedState(relay["relayId"],
                                    relay["scheduledDateTime"],
                                    relay["expectedState"])
        if jrequest.dict:
            if isinstance(jrequest.dict["relayId"], list) and len(
                    jrequest.dict["relayId"]) == 1:
                relay_id = jrequest.dict["relayId"][0]
            else:
                relay_id = jrequest.dict["relayId"]
            if isinstance(jrequest.dict["scheduledDateTime"], list) and len(
                    jrequest.dict["scheduledDateTime"]) == 1:
                scheduled_date_time = jrequest.dict["scheduledDateTime"][0]
            else:
                scheduled_date_time = jrequest.dict["scheduledDateTime"]
            if isinstance(jrequest.dict["expectedState"], list) and len(
                    jrequest.dict["expectedState"]) == 1:
                expected_state = jrequest.dict["expectedState"][0]
            else:
                expected_state = jrequest.dict["expectedState"]
            relays.setExpectedState(relay_id, scheduled_date_time,
                                    expected_state)
            assert isinstance(jrequest.request, webapp.Request)

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, dict)
        l = []
        for k, v in relays.iteritems():
            l.append(v)
        jresponse.addResult(l)
コード例 #2
0
    def get(self):
        self.sender = GetSender(self.request)
        self.raw_data = putRawData(self.request)
        # self.data_list = putDataList(self.request)
        self.data_list = Data.storeRequest(self.request)
        self.metadata = putMetadata(self.sender, self.raw_data, self.data_list)

        assert isinstance(self.response, webapp.Response)
        self.response.headers['Content-Type'] = "text/plain"
        for key in self.data_list:
            data = db.get(key)
            if data.field == "productName":
                self.productName = data.string
            if data.field == "serialNumber":
                self.serialNumber = data.string
            if data.field == "moduleId":
                self.moduleId = data.string

                #self.response.out.write("field:" + data.field + " string:" + data.string + "\n")

        try:
            relays = Relays(self.productName, self.serialNumber, self.moduleId)
            assert isinstance(relays, Relays)
            l = []
            for k, v in relays.iteritems():
                assert isinstance(v, Relay)
                r = {
                    "relayId": v.relayId,
                    #"scheduledDateTime" : v.scheduledDateTime,
                    "scheduledEpoch": nativeToEpoch(v.scheduledDateTime),
                    "expectedState": v.expectedState
                }
                l.append(r)

            o = {"relayStates": l}

            self.response.out.write(dumps(o))
        except AttributeError, e:
            l = map(lambda key: db.get(key), self.data_list)
            j = dumps(l)
            self.response.out.write(j)
コード例 #3
0
ファイル: post.py プロジェクト: TakashiSasaki/odenkiapi
    def get(self):
        self.sender = GetSender(self.request)
        self.raw_data = putRawData(self.request)
        # self.data_list = putDataList(self.request)
        self.data_list = Data.storeRequest(self.request)
        self.metadata = putMetadata(self.sender, self.raw_data, self.data_list)

        assert isinstance(self.response, webapp.Response)
        self.response.headers["Content-Type"] = "text/plain"
        for key in self.data_list:
            data = db.get(key)
            if data.field == "productName":
                self.productName = data.string
            if data.field == "serialNumber":
                self.serialNumber = data.string
            if data.field == "moduleId":
                self.moduleId = data.string

                # self.response.out.write("field:" + data.field + " string:" + data.string + "\n")

        try:
            relays = Relays(self.productName, self.serialNumber, self.moduleId)
            assert isinstance(relays, Relays)
            l = []
            for k, v in relays.iteritems():
                assert isinstance(v, Relay)
                r = {
                    "relayId": v.relayId,
                    # "scheduledDateTime" : v.scheduledDateTime,
                    "scheduledEpoch": nativeToEpoch(v.scheduledDateTime),
                    "expectedState": v.expectedState,
                }
                l.append(r)

            o = {"relayStates": l}

            self.response.out.write(dumps(o))
        except AttributeError, e:
            l = map(lambda key: db.get(key), self.data_list)
            j = dumps(l)
            self.response.out.write(j)
コード例 #4
0
ファイル: Relays.py プロジェクト: TakashiSasaki/odenkiapi
    def POST(self, jrequest, jresponse):
        assert isinstance(jrequest, JsonRpcRequest)
        assert isinstance(jresponse, JsonRpcResponse)
        jresponse.setId()

        product_name = jrequest.getPathInfo(3)
        serial_number = jrequest.getPathInfo(4)
        module_id = jrequest.getPathInfo(5)
        # self.response.headers.add_header(b"Set-Cookie", b"productName=%s" % product_name.encode())
        # self.response.headers.add_header(b"Set-Cookie", b"serialNumber=%s" % serial_number.encode())
        # self.response.headers.add_header(b"Set-Cookie", b"moduleId=%s" % module_id.encode())

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, Relays)
        for relay in jrequest.list:
            relays.setExpectedState(relay["relayId"], relay["scheduledDateTime"], relay["expectedState"])
        if jrequest.dict:
            if isinstance(jrequest.dict["relayId"], list) and len(jrequest.dict["relayId"]) == 1:
                relay_id = jrequest.dict["relayId"][0]
            else:
                relay_id = jrequest.dict["relayId"]
            if isinstance(jrequest.dict["scheduledDateTime"], list) and len(jrequest.dict["scheduledDateTime"]) == 1:
                scheduled_date_time = jrequest.dict["scheduledDateTime"][0]
            else:
                scheduled_date_time = jrequest.dict["scheduledDateTime"]
            if isinstance(jrequest.dict["expectedState"], list) and len(jrequest.dict["expectedState"]) == 1:
                expected_state = jrequest.dict["expectedState"][0]
            else:
                expected_state = jrequest.dict["expectedState"]
            relays.setExpectedState(relay_id, scheduled_date_time, expected_state)
            assert isinstance(jrequest.request, webapp.Request)

        relays = Relays(product_name, serial_number, module_id)
        assert isinstance(relays, dict)
        l = []
        for k, v in relays.iteritems():
            l.append(v)
        jresponse.addResult(l)