From 6d56c6673764a255f91bd3d19b2863a6492084e2 Mon Sep 17 00:00:00 2001 From: Sven Sager Date: Mon, 3 Jul 2023 13:27:57 +0200 Subject: [PATCH] revert: XML-RPC protocol changes Unfortunately, the changes to the XML-RPC protocol from Commit f5916216147a57442242527f8a58ff6a1b87b548 must be undone. The new strings cause too many compatibility problems with old clients. --- src/revpipyload/revpipyload.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/revpipyload/revpipyload.py b/src/revpipyload/revpipyload.py index 57579dc..7d258a7 100644 --- a/src/revpipyload/revpipyload.py +++ b/src/revpipyload/revpipyload.py @@ -418,7 +418,7 @@ class RevPiPyLoad: self.xsrv.register_function( 0, self.xml_mqttrunning, "mqttrunning") self.xsrv.register_function( - 0, self.xml_plcserverrunning, "plcserverrunning") + 0, self.xml_plcserverrunning, "plcslaverunning") # Erweiterte Funktionen anmelden try: @@ -466,9 +466,9 @@ class RevPiPyLoad: self.xsrv.register_function( 3, self.xml_mqttstop, "mqttstop") self.xsrv.register_function( - 3, self.xml_plcserverstart, "plcserverstart") + 3, self.xml_plcserverstart, "plcslavestart") self.xsrv.register_function( - 3, self.xml_plcserverstop, "plcserverstop") + 3, self.xml_plcserverstop, "plcslavestop") self.xsrv.register_function( 3, self.xml_plcdelete_file, "plcdeletefile") self.xsrv.register_function( @@ -977,11 +977,11 @@ class RevPiPyLoad: dc["mqttwrite_outputs"] = int(self.mqttwrite_outputs) # PLCSERVER Sektion - dc["plcserver"] = int(self.plcserver) - dc["plcserveracl"] = self.plcserveracl.acl - dc["plcserverbindip"] = self.plcserverbindip - dc["plcserverport"] = self.plcserverport - dc["plcserverwatchdog"] = int(self.plcwatchdog) + dc["plcslave"] = int(self.plcserver) + dc["plcslaveacl"] = self.plcserveracl.acl + dc["plcslavebindip"] = self.plcserverbindip + dc["plcslaveport"] = self.plcserverport + dc["plcslavewatchdog"] = int(self.plcwatchdog) # XMLRPC Sektion dc["xmlrpc"] = int(self.xmlrpc) @@ -1286,6 +1286,17 @@ class RevPiPyLoad: dc["replace_ios"] = os.path.join( self.plcworkdir, dc["replace_ios"]) + # Rename values due to compatibility with the xml-rpc protocol + for key_from, key_to in ( + ("plcslave", "plcserver"), + ("plcslaveacl", "plcserveracl"), + ("plcslavebindip", "plcserverbindip"), + ("plcslaveport", "plcserverport"), + ("plcslavewatchdog", "plcserverwatchdog"), + ): + dc[key_to] = dc[key_from] + del dc[key_from] + # Werte übernehmen, die eine Definition in key haben (andere nicht) for sektion in keys: suffix = sektion.lower() @@ -1300,6 +1311,8 @@ class RevPiPyLoad: ) return False if localkey != "acl": + if sektion not in self.globalconfig: + self.globalconfig.add_section(sektion) self.globalconfig.set( sektion, key if localkey == "" else localkey,