import re 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): return self.value