import re import json class InvalidDataObjectException(Exception): def __init__(self, message): super().__init__(message) class DataObject(object): invalidChars = re.compile("[#+/\s]") def __init__(self, serverName, nameSpaceIndex, variableName, value): self.serverName = serverName self.nameSpaceIndex = nameSpaceIndex self.variableName = variableName self.value = value def isValid(self): return (not (DataObject.invalidChars.search(self.serverName) or DataObject.invalidChars.search(self.variableName))) and (type(self.nameSpaceIndex) == int) def getTopicPost(self): return self.serverName + '/' + str(self.nameSpaceIndex) + '/' + self.variableName def getPayload(self): payload = { "serverName": self.serverName, "nameSpaceIndex": self.nameSpaceIndex, "variableName": self.variableName, "value": self.value } return json.dumps(payload)