コード例 #1
0
ファイル: device.py プロジェクト: ehsanmasdar/iot-python
	def	__init__(self, message):
		result = COMMAND_RE.match(message.topic)
		if result:
			Message.__init__(self, message)
			
			self.command = result.group(1)
			self.format = result.group(2)
		else:
			raise InvalidEventException("Received command on invalid topic: %s" % (message.topic))
コード例 #2
0
def decode(message):
    try:
        payload = json.loads(message.payload.decode("utf-8"))
    except ValueError as e:
        raise InvalidEventException("Unable to parse JSON.  payload=\"%s\" error=%s" % (message.payload, str(e)))
        
    data = None
    timestamp = None
    
    # Try to parse a timestamp
    try:
        if 'ts' in payload:
            dt = iso8601.parse_date(payload['ts'])
            timestamp = dt.astimezone(pytz.timezone('UTC'))
        else:
            timestamp = datetime.now(pytz.timezone('UTC'))
    except iso8601.ParseError as e:
        raise InvalidEventException("Unable to parse event timestamp: %s" % str(e))

    # Try to parse the data
    if 'd' in payload:
        data = payload['d']
        
        # TODO: Flatten JSON, covert into array of key/value pairs
    
    return Message(data, timestamp)
コード例 #3
0
def decode(message):
    try:
        jsonData = json.dumps(xmltodict.parse(message.payload))
        data = json.loads(jsonData.decode("utf-8"))
    except ValueError as e:
        raise InvalidEventException("Unable to parse XML.  payload=\"%s\" error=%s" % (message.payload, str(e)))
    timestamp = datetime.now(pytz.timezone('UTC'))
    return Message(data, timestamp)
コード例 #4
0
def decode(message):
    (hello, x) = message.payload.split(",")
    
    data = {}
    data['hello'] = hello
    data['x'] = x
    
    timestamp = datetime.now(pytz.timezone('UTC'))
    
    return Message(data, timestamp)
コード例 #5
0
ファイル: jsonCodec.py プロジェクト: a3135134/iot-python
def decode(message):
    try:
        data = json.loads(message.payload.decode("utf-8"))
    except ValueError as e:
        raise InvalidEventException("Unable to parse JSON.  payload=\"%s\" error=%s" % (message.payload, str(e)))
    
    timestamp = datetime.now(pytz.timezone('UTC'))
    
    # TODO: Flatten JSON, covert into array of key/value pairs
    return Message(data, timestamp)
コード例 #6
0
    def decode(message):
        '''
        message.payloadに格納された受信データをbase64にエンコードした文字列として
        Messageオブジェクトへ格納、返却する。

        引数
            message     受信データ
        戻り値
            ibmiotfパッケージとして取扱可能なMessageオブジェクト
        '''
        data = message.payload
        if type(data) is bytes:
            logger.debug('decode: data is bytes')
            data = base64.b64encode(message.payload).decode('utf-8')
        timestamp = datetime.now(pytz.timezone('UTC'))
    
        return Message(data, timestamp)
コード例 #7
0
    def decode(message):
        """
        Convert a generic JSON message
        
        * The entire message is converted to JSON and treated as the message data
        * The timestamp of the message is the time that the message is RECEIVED
        """
        try:
            data = json.loads(message.payload.decode("utf-8"))
        except ValueError as e:
            raise InvalidEventException(
                "Unable to parse JSON.  payload=\"%s\" error=%s" %
                (message.payload, str(e)))

        timestamp = datetime.now(pytz.timezone('UTC'))

        # TODO: Flatten JSON, covert into array of key/value pairs
        return Message(data, timestamp)
コード例 #8
0
ファイル: tubplayer.py プロジェクト: coolerking/tubplayer
    def decode(message):
        """
        文字列をnp.ndarray型式に戻し型を(120, 160, 3)に戻す。

        引数
            message     受信メッセージ
        戻り値
            Messageオブジェクト
        """
        #try:
        #    data = message.payload.decode('utf-8')
        #    data = np.fromstring(data, dtype=np.uint8)
        #    data = np.reshape(data, (120, 160, 3))
        #except ValueError as e:
        #    raise InvalidEventException("Unable to parse image.  payload=\"%s\" error=%s" % (message.payload, str(e)))
        timestamp = datetime.now(pytz.timezone('UTC'))
        
        # TODO: Flatten JSON, covert into array of key/value pairs
        return Message(message, timestamp)