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))
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)
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)
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)
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)
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)
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)
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)