mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-12-28 18:08:02 +01:00
Change plc-watchdog value in .conf and xml-rpc
This commit is contained in:
@@ -28,7 +28,7 @@ begrenzt werden!
|
|||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
__version__ = "0.8.1"
|
__version__ = "0.8.2"
|
||||||
import gzip
|
import gzip
|
||||||
import logsystem
|
import logsystem
|
||||||
import picontrolserver
|
import picontrolserver
|
||||||
@@ -299,6 +299,9 @@ class RevPiPyLoad():
|
|||||||
|
|
||||||
self.plcslaveport = \
|
self.plcslaveport = \
|
||||||
self.globalconfig["PLCSLAVE"].getint("port", 55234)
|
self.globalconfig["PLCSLAVE"].getint("port", 55234)
|
||||||
|
self.plcwatchdog = self.globalconfig.getboolean(
|
||||||
|
"PLCSLAVE", "watchdog", fallback=True
|
||||||
|
)
|
||||||
|
|
||||||
# Konfiguration verarbeiten [XMLRPC]
|
# Konfiguration verarbeiten [XMLRPC]
|
||||||
self.xmlrpc = False
|
self.xmlrpc = False
|
||||||
@@ -377,9 +380,10 @@ class RevPiPyLoad():
|
|||||||
proginit.logger.info("restart plc slave after reload")
|
proginit.logger.info("restart plc slave after reload")
|
||||||
self.th_plcslave.start()
|
self.th_plcslave.start()
|
||||||
|
|
||||||
# PLC-Slave ACL prüfen
|
# PLC-Slave ACL und Einstellungen prüfen
|
||||||
if self.th_plcslave is not None:
|
if self.th_plcslave is not None:
|
||||||
self.th_plcslave.check_connectedacl()
|
self.th_plcslave.check_connectedacl()
|
||||||
|
self.th_plcslave.watchdog = self.plcwatchdog
|
||||||
|
|
||||||
# XMLRPC-Server Instantiieren und konfigurieren
|
# XMLRPC-Server Instantiieren und konfigurieren
|
||||||
if not self.xmlrpc:
|
if not self.xmlrpc:
|
||||||
@@ -571,7 +575,8 @@ class RevPiPyLoad():
|
|||||||
|
|
||||||
if self.plcslave:
|
if self.plcslave:
|
||||||
th_plc = picontrolserver.RevPiSlave(
|
th_plc = picontrolserver.RevPiSlave(
|
||||||
self.plcslaveacl, self.plcslaveport, self.plcslavebindip
|
self.plcslaveacl, self.plcslaveport, self.plcslavebindip,
|
||||||
|
self.plcwatchdog
|
||||||
)
|
)
|
||||||
|
|
||||||
proginit.logger.debug("leave RevPiPyLoad._plcslave()")
|
proginit.logger.debug("leave RevPiPyLoad._plcslave()")
|
||||||
@@ -911,6 +916,7 @@ class RevPiPyLoad():
|
|||||||
dc["plcslaveacl"] = self.plcslaveacl.acl
|
dc["plcslaveacl"] = self.plcslaveacl.acl
|
||||||
dc["plcslavebindip"] = self.plcslavebindip
|
dc["plcslavebindip"] = self.plcslavebindip
|
||||||
dc["plcslaveport"] = self.plcslaveport
|
dc["plcslaveport"] = self.plcslaveport
|
||||||
|
dc["plcslavewatchdog"] = self.plcwatchdog
|
||||||
|
|
||||||
# XMLRPC Sektion
|
# XMLRPC Sektion
|
||||||
dc["xmlrpc"] = int(self.xmlrpc)
|
dc["xmlrpc"] = int(self.xmlrpc)
|
||||||
@@ -1062,13 +1068,12 @@ class RevPiPyLoad():
|
|||||||
def xml_plcupload(self, filedata, filename):
|
def xml_plcupload(self, filedata, filename):
|
||||||
"""Empfaengt Dateien fuer das PLC Programm einzeln.
|
"""Empfaengt Dateien fuer das PLC Programm einzeln.
|
||||||
|
|
||||||
@param filedata GZIP Binary data der datei
|
@param filedata GZIP Binary data der Datei
|
||||||
@param filename Name inkl. Unterverzeichnis der Datei
|
@param filename Name inkl. Unterverzeichnis der Datei
|
||||||
@return Ture, wenn Datei erfolgreich gespeichert wurde
|
@return Ture, wenn Datei erfolgreich gespeichert wurde
|
||||||
|
|
||||||
"""
|
"""
|
||||||
proginit.logger.debug("xmlrpc call plcupload")
|
proginit.logger.debug("xmlrpc call plcupload")
|
||||||
noerr = False
|
|
||||||
|
|
||||||
if filedata is None or filename is None:
|
if filedata is None or filename is None:
|
||||||
return False
|
return False
|
||||||
@@ -1087,13 +1092,11 @@ class RevPiPyLoad():
|
|||||||
|
|
||||||
# Datei erzeugen
|
# Datei erzeugen
|
||||||
try:
|
try:
|
||||||
fh = open(filename, "wb")
|
with open(filename, "wb") as fh:
|
||||||
fh.write(gzip.decompress(filedata.data))
|
fh.write(gzip.decompress(filedata.data))
|
||||||
noerr = True
|
return True
|
||||||
finally:
|
except Exception:
|
||||||
fh.close()
|
return False
|
||||||
|
|
||||||
return noerr
|
|
||||||
|
|
||||||
def xml_plcuploadclean(self):
|
def xml_plcuploadclean(self):
|
||||||
"""Loescht das gesamte plcworkdir Verzeichnis.
|
"""Loescht das gesamte plcworkdir Verzeichnis.
|
||||||
@@ -1148,6 +1151,7 @@ class RevPiPyLoad():
|
|||||||
"plcslaveacl": self.plcslaveacl.regex_acl,
|
"plcslaveacl": self.plcslaveacl.regex_acl,
|
||||||
# "plcslavebindip": "^((([\\d]{1,3}\\.){3}[\\d]{1,3})|\\*)+$",
|
# "plcslavebindip": "^((([\\d]{1,3}\\.){3}[\\d]{1,3})|\\*)+$",
|
||||||
"plcslaveport": "[0-9]{,5}",
|
"plcslaveport": "[0-9]{,5}",
|
||||||
|
"plcslavewatchdog": "[01]",
|
||||||
},
|
},
|
||||||
"XMLRPC": {
|
"XMLRPC": {
|
||||||
"xmlrpc": "[01]",
|
"xmlrpc": "[01]",
|
||||||
|
|||||||
Reference in New Issue
Block a user