Bei ProcImgServer fehlte cleanup von RevPiModIO

check_replace_ios_changed brachte falsche Werte, wenn nicht angegeben
RevPiModIO min 2.4.1
This commit is contained in:
2019-08-18 18:55:51 +02:00
parent 7fe5904ef6
commit 1cb0c282d7
5 changed files with 32 additions and 10 deletions

View File

@@ -54,6 +54,11 @@ class ProcimgServer():
proginit.logger.debug("leave ProcimgServer.__init__()")
def __del__(self):
"""Clean up RevPiModIO."""
if self.rpi is not None:
self.rpi.cleanup()
def devices(self):
"""Generiert Deviceliste mit Position und Namen.
@return list() mit Tuple (pos, name)"""

View File

@@ -80,6 +80,7 @@ class RevPiPyLoad():
self.pictoryhash = b''
self.replaceiosmtime = 0
self.replaceiohash = b''
self.replaceiofail = False
# Berechtigungsmanger
if proginit.pargs.developermode:
@@ -618,14 +619,18 @@ class RevPiPyLoad():
# Zugriffsrechte prüfen (pre-check für unten)
if self.replace_ios_config \
and not os.access(self.replace_ios_config, os.R_OK | os.W_OK):
proginit.logger.error(
"can not access (r/w) the replace_ios file '{0}' "
"using defaults".format(self.replace_ios_config)
)
self.replace_ios_config = ""
and not os.access(self.replace_ios_config, os.R_OK):
if not self.replace_ios_config:
if not self.replaceiofail:
proginit.logger.error(
"can not access (r/w) the replace_ios file '{0}' "
"using defaults".format(self.replace_ios_config)
)
self.replaceiofail = True
else:
self.replaceiofail = False
if not self.replace_ios_config or self.replaceiofail:
# Dateipfad leer, prüfen ob es vorher einen gab
if self.replaceiosmtime > 0 or self.replaceiohash:
self.replaceiosmtime = 0
@@ -644,7 +649,9 @@ class RevPiPyLoad():
return False
self.replaceiohash = file_hash
return True
return True
return False
def packapp(self, mode="tar", pictory=False):
"""Erzeugt aus dem PLC-Programm ein TAR/Zip-File.