From 4b8a15b45423251b1703a4a0de1fd1a6aaaa31d8 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Tue, 22 Feb 2022 14:58:11 +0100 Subject: [PATCH] satisfy pycodestyle checker --- src/AbstractDataObject.py | 6 ++++-- src/FlatDataObject.py | 5 ++--- src/MqttBase.py | 21 ++++++++++----------- src/MqttPublish.py | 2 +- src/OpcUaRequester.py | 3 +-- src/Statistics.py | 10 +++++----- src/StructuredDataObject.py | 5 ++--- src/bridge.py | 2 ++ 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/AbstractDataObject.py b/src/AbstractDataObject.py index a58cc4d..0850b84 100644 --- a/src/AbstractDataObject.py +++ b/src/AbstractDataObject.py @@ -1,12 +1,14 @@ import re import json + class InvalidDataObjectException(Exception): def __init__(self, message): super().__init__(message) + class AbstractDataObject(object): - invalidChars = re.compile("[#+\s]") + invalidChars = re.compile(r'[#+\s]') def __init__(self, topicPart): self.topicPart = topicPart @@ -17,4 +19,4 @@ class AbstractDataObject(object): return self.topicPart def getPayload(self): - raise NotImplementedError() \ No newline at end of file + raise NotImplementedError() diff --git a/src/FlatDataObject.py b/src/FlatDataObject.py index ff5096c..309e850 100644 --- a/src/FlatDataObject.py +++ b/src/FlatDataObject.py @@ -4,14 +4,13 @@ from AbstractDataObject import AbstractDataObject class FlatDataObject(AbstractDataObject): - def __init__(self, serverName, nameSpaceIndex, variableName, value): super().__init__(serverName + '/' + str(nameSpaceIndex) + '/' + variableName) self.serverName = serverName self.nameSpaceIndex = nameSpaceIndex self.variableName = variableName self.value = value - + def getPayload(self): payload = { "serverName": self.serverName, @@ -19,4 +18,4 @@ class FlatDataObject(AbstractDataObject): "variableName": self.variableName, "value": self.value } - return json.dumps(payload) \ No newline at end of file + return json.dumps(payload) diff --git a/src/MqttBase.py b/src/MqttBase.py index 7187cfe..1d81827 100644 --- a/src/MqttBase.py +++ b/src/MqttBase.py @@ -4,13 +4,14 @@ import threading import ssl - def mqttOnConnectCallback(client, userdata, flags, rc): userdata.onConnect() + def mqttOnMessageCallback(client, userdata, message): userdata.onMessage(message.topic, message.payload) + def mqttOnDisconnectCallback(client, userdata, rc): userdata.onDisconnect(rc) @@ -34,38 +35,37 @@ class AbstractMqttPublisher(threading.Thread): if ("login" in self.config) and ("password" in self.config): self.client.username_pw_set(self.config["login"], self.config["password"]) - + if ("ca" in self.config) and ("cert" in self.config) and ("key" in self.config): self.client.tls_set( ca_certs=self.config["ca"], certfile=self.config["cert"], keyfile=self.config["key"], cert_reqs=ssl.CERT_REQUIRED, - tls_version=ssl.PROTOCOL_TLSv1_2, - ciphers=None # this does not mean "no cipher" but it means "default ciphers" + tls_version=ssl.PROTOCOL_TLSv1_2, + ciphers=None # this does not mean "no cipher" but it means "default ciphers" ) elif ("ca" in self.config): self.client.tls_set( ca_certs=self.config["ca"], cert_reqs=ssl.CERT_REQUIRED, - tls_version=ssl.PROTOCOL_TLSv1_2, - ciphers=None # this does not mean "no cipher" but it means "default ciphers" + tls_version=ssl.PROTOCOL_TLSv1_2, + ciphers=None # this does not mean "no cipher" but it means "default ciphers" ) - self.client.connect(self.config["broker"], int(self.config["port"])) self.client.loop_start() logger.info("mqtt loop started") self.localLoop() - + def localLoop(self): raise NotImplementedError() def stop(self): self.client.loop_stop() logger.info("mqtt loop stopped") - + self.killBill = True logger.info("kill flag set") @@ -74,10 +74,9 @@ class AbstractMqttPublisher(threading.Thread): def onConnect(self): logger.info("mqtt connected") - + def onDisconnect(self, rc): logger.warning("mqtt disconnect, rc: {}".format(rc)) def onMessage(self, topic, payload): logger.warning("mqtt unexpected message received: {} -> {}".format(topic, str(payload))) - diff --git a/src/MqttPublish.py b/src/MqttPublish.py index 3299ff5..c687d53 100644 --- a/src/MqttPublish.py +++ b/src/MqttPublish.py @@ -7,6 +7,7 @@ import json LOOP_SLICE = 0.1 # seconds + class MqttPublish(AbstractMqttPublisher): def __init__(self, config, stats, queue): super().__init__(config) @@ -32,4 +33,3 @@ class MqttPublish(AbstractMqttPublisher): except Exception as e: self.stats.incMqttErrors() logger.error(f"Exception {type(e)} received in MQTT local loop: {e}") - diff --git a/src/OpcUaRequester.py b/src/OpcUaRequester.py index a22d7d4..0f4e2aa 100644 --- a/src/OpcUaRequester.py +++ b/src/OpcUaRequester.py @@ -5,6 +5,7 @@ from loguru import logger from FlatDataObject import FlatDataObject from StructuredDataObject import StructuredDataObject + class OpcUaRequester(threading.Thread): def __init__(self, config, stats, queue): super().__init__() @@ -25,7 +26,6 @@ class OpcUaRequester(threading.Thread): self.killBill = False self.killEvent = threading.Event() - async def opcUaRequesterInnerLoop(self): while not self.killBill: try: @@ -69,4 +69,3 @@ class OpcUaRequester(threading.Thread): self.killEvent.set() logger.info("kill events triggered") - diff --git a/src/Statistics.py b/src/Statistics.py index 8bd6244..17a54d0 100644 --- a/src/Statistics.py +++ b/src/Statistics.py @@ -4,11 +4,12 @@ from AbstractDataObject import AbstractDataObject import json import datetime + class StatisticsDataObject(AbstractDataObject): def __init__(self, topic, payload): super().__init__(topic) self.payload = payload - + def getPayload(self): return json.dumps(self.payload) @@ -27,7 +28,7 @@ class StatisticsCollector(threading.Thread): self.stats = { 'opcUaRequests': 0, - 'opcUaErrors' : 0, + 'opcUaErrors': 0, 'opcUaTimeouts': 0, 'mqttRequests': 0, 'mqttErrors': 0, @@ -36,10 +37,10 @@ class StatisticsCollector(threading.Thread): def incOpcUaRequests(self): self.stats['opcUaRequests'] += 1 - + def incOpcUaErrors(self): self.stats['opcUaErrors'] += 1 - + def incOpcUaTimeouts(self): self.stats['opcUaTimeouts'] += 1 @@ -63,4 +64,3 @@ class StatisticsCollector(threading.Thread): self.stats['uptime'] = int((currentTime - startTime).total_seconds()) self.queue.put(StatisticsDataObject(self.topic, self.stats)) self.killEvent.wait(timeout=float(self.period)) - diff --git a/src/StructuredDataObject.py b/src/StructuredDataObject.py index 2029e06..c37a15a 100644 --- a/src/StructuredDataObject.py +++ b/src/StructuredDataObject.py @@ -4,13 +4,12 @@ from AbstractDataObject import AbstractDataObject class StructuredDataObject(AbstractDataObject): - def __init__(self, topicPart): super().__init__(topicPart) self.keyValuePairs = [] - + def add(self, key, value): self.keyValuePairs.append({key: value}) def getPayload(self): - return json.dumps(self.keyValuePairs) \ No newline at end of file + return json.dumps(self.keyValuePairs) diff --git a/src/bridge.py b/src/bridge.py index 3990aba..fd4f5e3 100644 --- a/src/bridge.py +++ b/src/bridge.py @@ -12,12 +12,14 @@ import signal deathBell = threading.Event() + def exceptHook(args): global deathBell logger.error("Exception in thread caught: {}".format(args)) deathBell.set() logger.error("rang the death bell") + def terminateHook(sig, frame): global deathBell logger.error("SIGINT received")