def test_parseSlots(self): class MQTTMessage: def __init__(self, payload): self.payload = payload self.assertEqual(CommonsManager.parseSlots(MQTTMessage(None)), dict()) message = MQTTMessage('{"slots": [\ {"slotName": "slotName1", "rawValue": "rawValue1"},\ {"slotName": "slotName2", "rawValue": "rawValue2"}]}') self.assertEqual(CommonsManager.parseSlots(message), { "slotName1": "rawValue1", "slotName2": "rawValue2" })
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 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)