mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 23:23:52 +01:00
Bei Änderung von replace_ios nur Clients trennen, die Hashwert anforderten
This commit is contained in:
@@ -69,6 +69,9 @@ Methods</h3>
|
||||
<td><a style="color:#0000FF" href="#RevPiSlave.disconnect_all">disconnect_all</a></td>
|
||||
<td>Close all device connection.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiSlave.disconnect_replace_ios">disconnect_replace_ios</a></td>
|
||||
<td>Close all device with loaded replace_ios file.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiSlave.newlogfile">newlogfile</a></td>
|
||||
<td>Konfiguriert die FileHandler auf neue Logdatei.</td>
|
||||
</tr><tr>
|
||||
@@ -113,6 +116,12 @@ RevPiSlave.disconnect_all</h3>
|
||||
<b>disconnect_all</b>(<i></i>)
|
||||
<p>
|
||||
Close all device connection.
|
||||
</p><a NAME="RevPiSlave.disconnect_replace_ios" ID="RevPiSlave.disconnect_replace_ios"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiSlave.disconnect_replace_ios</h3>
|
||||
<b>disconnect_replace_ios</b>(<i></i>)
|
||||
<p>
|
||||
Close all device with loaded replace_ios file.
|
||||
</p><a NAME="RevPiSlave.newlogfile" ID="RevPiSlave.newlogfile"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiSlave.newlogfile</h3>
|
||||
|
||||
@@ -34,6 +34,7 @@ mqttserver.__copyright__?9
|
||||
mqttserver.__license__?9
|
||||
picontrolserver.RevPiSlave.check_connectedacl?4()
|
||||
picontrolserver.RevPiSlave.disconnect_all?4()
|
||||
picontrolserver.RevPiSlave.disconnect_replace_ios?4()
|
||||
picontrolserver.RevPiSlave.newlogfile?4()
|
||||
picontrolserver.RevPiSlave.run?4()
|
||||
picontrolserver.RevPiSlave.stop?4()
|
||||
|
||||
@@ -76,6 +76,13 @@ class RevPiSlave(Thread):
|
||||
for th in self._th_dev:
|
||||
th.stop()
|
||||
|
||||
def disconnect_replace_ios(self):
|
||||
"""Close all device with loaded replace_ios file."""
|
||||
# Alle Threads beenden die Replace_IOs emfpangen haben
|
||||
for th in self._th_dev:
|
||||
if th.got_replace_ios:
|
||||
th.stop()
|
||||
|
||||
def newlogfile(self):
|
||||
"""Konfiguriert die FileHandler auf neue Logdatei."""
|
||||
pass
|
||||
@@ -183,6 +190,7 @@ class RevPiSlaveDev(Thread):
|
||||
self._deadtime = None
|
||||
self._devcon, self._addr = devcon
|
||||
self._evt_exit = Event()
|
||||
self.got_replace_ios = False
|
||||
self._writeerror = False
|
||||
|
||||
# Sicherheitsbytes
|
||||
@@ -415,7 +423,7 @@ class RevPiSlaveDev(Thread):
|
||||
continue
|
||||
|
||||
elif cmd == b'RP':
|
||||
# piCtory Konfiguration senden
|
||||
# Replace_IOs Konfiguration senden
|
||||
proginit.logger.debug(
|
||||
"transfair replace_io configuration: {0}"
|
||||
"".format(proginit.pargs.configrsc)
|
||||
@@ -439,6 +447,8 @@ class RevPiSlaveDev(Thread):
|
||||
|
||||
elif cmd == b'RH':
|
||||
# Replace_IOs md5 Hashwert senden (16 Byte)
|
||||
self.got_replace_ios = True
|
||||
|
||||
replace_ios = proginit.conf["DEFAULT"].get("replace_ios", "")
|
||||
try:
|
||||
if replace_ios:
|
||||
|
||||
@@ -28,7 +28,7 @@ begrenzt werden!
|
||||
__author__ = "Sven Sager"
|
||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
||||
__license__ = "GPLv3"
|
||||
__version__ = "0.7.6"
|
||||
__version__ = "0.8.0"
|
||||
import gzip
|
||||
import logsystem
|
||||
import picontrolserver
|
||||
@@ -739,10 +739,20 @@ class RevPiPyLoad():
|
||||
# Dateiveränderungen prüfen mit beiden Funktionen!
|
||||
if self.check_pictory_changed():
|
||||
file_changed = True
|
||||
|
||||
# Alle Verbindungen von ProcImgServer trennen
|
||||
self.th_plcslave.disconnect_all()
|
||||
|
||||
proginit.logger.warning("piCtory configuration was changed")
|
||||
|
||||
if self.check_replace_ios_changed():
|
||||
if not file_changed:
|
||||
# Verbindungen von ProcImgServer trennen mit replace_ios
|
||||
self.th_plcslave.disconnect_replace_ios()
|
||||
|
||||
file_changed = True
|
||||
proginit.logger.warning("replace ios file was changed")
|
||||
|
||||
if file_changed:
|
||||
# Auf Dateiveränderung reagieren
|
||||
|
||||
@@ -750,9 +760,6 @@ class RevPiPyLoad():
|
||||
if self.mqtt and self.th_plcmqtt is not None:
|
||||
self.th_plcmqtt.reload_revpimodio()
|
||||
|
||||
# Alle Verbindungen von ProcImgServer trennen
|
||||
self.th_plcslave.disconnect_all()
|
||||
|
||||
# XML Prozessabbildserver neu laden
|
||||
if self.xml_ps is not None:
|
||||
self.xml_psstop()
|
||||
|
||||
Reference in New Issue
Block a user