opcua-with-python/opcua2mqtt/AbstractDataObject.py

20 lines
570 B
Python
Raw Normal View History

2022-02-09 18:07:11 +01:00
import re
import json
class InvalidDataObjectException(Exception):
def __init__(self, message):
super().__init__(message)
class AbstractDataObject(object):
invalidChars = re.compile("[#+\s]")
def __init__(self, topicPart):
self.topicPart = topicPart
def getTopicPart(self):
if AbstractDataObject.invalidChars.search(self.topicPart):
raise InvalidDataObjectException(f"Topic contains invalid characters: {self.topicPart}")
return self.topicPart
def getPayload(self):
raise NotImplementedError()