30 lines
1001 B
Python
30 lines
1001 B
Python
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) |