def update(self, message: MQTTMessage): from core.commons.CommonsManager import CommonsManager self.message = message self.intentName = message.topic self.payload = CommonsManager.payload(message) self.slots.update(CommonsManager.parseSlots(message)) self.slotsAsObjects.update(CommonsManager.parseSlotsToObjects(message)) self.customData.update(CommonsManager.parseCustomData(message))
def test_parseCustomData(self): class MQTTMessage: def __init__(self, payload): self.payload = payload self.assertEqual(CommonsManager.parseCustomData(MQTTMessage(None)), dict()) self.assertEqual( CommonsManager.parseCustomData( MQTTMessage(b'{"customData": "nonJsonString"}')), dict()) self.assertEqual( CommonsManager.parseCustomData( MQTTMessage(b'{"customData": null}')), dict()) self.assertEqual( CommonsManager.parseCustomData( MQTTMessage('{"customData": "{\\"test\\": \\"test\\"}"}')), {'test': 'test'})
def extend(self, message: MQTTMessage, sessionId: str = None): if sessionId: self.sessionId = sessionId from core.commons.CommonsManager import CommonsManager self.message = message self.intentName = message.topic self.payload = CommonsManager.payload(message) self.slots = CommonsManager.parseSlots(message) self.slotsAsObjects = CommonsManager.parseSlotsToObjects(message) self.customData = CommonsManager.parseCustomData(message)