mirror of
https://github.com/naruxde/revpipyload.git
synced 2025-11-08 15:13:52 +01:00
Wenn replace_ios nicht gefunden wurde, wird HASH_FAIL übertragen
UID kann nun auf Workdirectory gesetzt werden
This commit is contained in:
@@ -3,6 +3,7 @@ autoreload = 1
|
|||||||
autoreloaddelay = 5
|
autoreloaddelay = 5
|
||||||
autostart = 1
|
autostart = 1
|
||||||
plcworkdir = /var/lib/revpipyload
|
plcworkdir = /var/lib/revpipyload
|
||||||
|
plcworkdir_set_uid = 0
|
||||||
plcprogram = program.py
|
plcprogram = program.py
|
||||||
plcarguments =
|
plcarguments =
|
||||||
plcuid = 1000
|
plcuid = 1000
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Modul fuer die Verwaltung der PLC-Slave Funktionen.
|
|||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
Global Attributes</h3>
|
Global Attributes</h3>
|
||||||
<table>
|
<table>
|
||||||
<tr><td>__author__</td></tr><tr><td>__copyright__</td></tr><tr><td>__license__</td></tr>
|
<tr><td>HASH_FAIL</td></tr><tr><td>HASH_NULL</td></tr><tr><td>__author__</td></tr><tr><td>__copyright__</td></tr><tr><td>__license__</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
Classes</h3>
|
Classes</h3>
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ mqttserver.MqttServer?1(basetopic, sendinterval, broker_address, port=1883, tls_
|
|||||||
mqttserver.__author__?9
|
mqttserver.__author__?9
|
||||||
mqttserver.__copyright__?9
|
mqttserver.__copyright__?9
|
||||||
mqttserver.__license__?9
|
mqttserver.__license__?9
|
||||||
|
picontrolserver.HASH_FAIL?7
|
||||||
|
picontrolserver.HASH_NULL?7
|
||||||
picontrolserver.RevPiSlave.check_connectedacl?4()
|
picontrolserver.RevPiSlave.check_connectedacl?4()
|
||||||
picontrolserver.RevPiSlave.disconnect_all?4()
|
picontrolserver.RevPiSlave.disconnect_all?4()
|
||||||
picontrolserver.RevPiSlave.disconnect_replace_ios?4()
|
picontrolserver.RevPiSlave.disconnect_replace_ios?4()
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ from shared.ipaclmanager import IpAclManager
|
|||||||
from threading import Event, Thread
|
from threading import Event, Thread
|
||||||
from timeit import default_timer
|
from timeit import default_timer
|
||||||
|
|
||||||
|
# Hashvalues
|
||||||
|
HASH_NULL = b'\x00' * 16
|
||||||
|
HASH_FAIL = b'\xff' * 16
|
||||||
|
|
||||||
|
|
||||||
class RevPiSlave(Thread):
|
class RevPiSlave(Thread):
|
||||||
|
|
||||||
@@ -438,7 +442,6 @@ class RevPiSlaveDev(Thread):
|
|||||||
proginit.logger.error(
|
proginit.logger.error(
|
||||||
"error on replace_io transfair: {0}".format(e)
|
"error on replace_io transfair: {0}".format(e)
|
||||||
)
|
)
|
||||||
break
|
|
||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
finally:
|
finally:
|
||||||
@@ -456,7 +459,7 @@ class RevPiSlaveDev(Thread):
|
|||||||
# Hashwert erzeugen und senden
|
# Hashwert erzeugen und senden
|
||||||
file_hash = md5(fh.read()).digest()
|
file_hash = md5(fh.read()).digest()
|
||||||
else:
|
else:
|
||||||
file_hash = b'\x00' * 16
|
file_hash = HASH_NULL
|
||||||
proginit.logger.debug(
|
proginit.logger.debug(
|
||||||
"send replace_ios hashvalue: {0}"
|
"send replace_ios hashvalue: {0}"
|
||||||
"".format(file_hash)
|
"".format(file_hash)
|
||||||
@@ -467,7 +470,7 @@ class RevPiSlaveDev(Thread):
|
|||||||
"error on replace_ios hash value transfair: {0}"
|
"error on replace_ios hash value transfair: {0}"
|
||||||
"".format(e)
|
"".format(e)
|
||||||
)
|
)
|
||||||
break
|
self._devcon.sendall(HASH_FAIL)
|
||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
@@ -224,6 +224,8 @@ class RevPiPyLoad():
|
|||||||
self.globalconfig["DEFAULT"].get("plcprogram", "none.py")
|
self.globalconfig["DEFAULT"].get("plcprogram", "none.py")
|
||||||
self.plcarguments = \
|
self.plcarguments = \
|
||||||
self.globalconfig["DEFAULT"].get("plcarguments", "")
|
self.globalconfig["DEFAULT"].get("plcarguments", "")
|
||||||
|
self.plcworkdir_set_uid = self.globalconfig["DEFAULT"].getboolean(
|
||||||
|
"plcworkdir_set_uid", False)
|
||||||
self.plcuid = \
|
self.plcuid = \
|
||||||
self.globalconfig["DEFAULT"].getint("plcuid", 65534)
|
self.globalconfig["DEFAULT"].getint("plcuid", 65534)
|
||||||
self.plcgid = \
|
self.plcgid = \
|
||||||
@@ -333,6 +335,10 @@ class RevPiPyLoad():
|
|||||||
)
|
)
|
||||||
os.chdir(self.plcworkdir)
|
os.chdir(self.plcworkdir)
|
||||||
|
|
||||||
|
# Workdirectory owner setzen
|
||||||
|
if self.plcworkdir_set_uid:
|
||||||
|
os.chown(self.plcworkdir, self.plcuid, -1)
|
||||||
|
|
||||||
# MQTT konfigurieren
|
# MQTT konfigurieren
|
||||||
if restart_plcmqtt:
|
if restart_plcmqtt:
|
||||||
self.stop_plcmqtt()
|
self.stop_plcmqtt()
|
||||||
|
|||||||
Reference in New Issue
Block a user