Für Export default-Werte festgelegt, die nicht exportiert werden müssen

Fehlerbehebung bei Import-Fehlermeldungen
This commit is contained in:
2019-08-18 09:46:10 +02:00
parent e7c8c5f958
commit 27da0c8e80

View File

@@ -317,8 +317,21 @@ class RevPiModIO(object):
# Funktionsaufruf vorbereiten
dict_replace = {
"frm": creplaceio[io].get("frm"),
"byteorder": creplaceio[io].get("byteorder", "little"),
"bmk": creplaceio[io].get("bmk", ""),
}
# Get bitaddress from config file
if "bit" in creplaceio[io]:
try:
dict_replace["bit"] = creplaceio[io].getint("bit")
except Exception:
raise ValueError(
"replace_io_file: could not convert '{0}' "
"bit '{1}' to integer"
"".format(io, creplaceio[io]["bit"])
)
# Convert defaultvalue from config file
if "defaultvalue" in creplaceio[io]:
if dict_replace["frm"] == "?":
@@ -329,7 +342,7 @@ class RevPiModIO(object):
raise ValueError(
"replace_io_file: could not convert '{0}' "
"defaultvalue '{1}' to boolean"
"".format(io, creplaceio[io].get("defaultvalue"))
"".format(io, creplaceio[io]["defaultvalue"])
)
else:
try:
@@ -339,26 +352,9 @@ class RevPiModIO(object):
raise ValueError(
"replace_io_file: could not convert '{0}' "
"defaultvalue '{1}' to integer"
"".format(io, creplaceio[io].get("bit"))
"".format(io, creplaceio[io]["defaultvalue"])
)
# Get bitaddress from config file
if "bit" in creplaceio[io]:
try:
dict_replace["bit"] = creplaceio[io].getint("bit", 0)
except Exception:
raise ValueError(
"replace_io_file: could not convert '{0}' "
"bit '{1}' to integer"
"".format(io, creplaceio[io].get("bit"))
)
# Sonstige Werte laden, wenn vorhanden
if "bmk" in creplaceio[io]:
dict_replace["bmk"] = creplaceio[io].get("bmk")
if "byteorder" in creplaceio[io]:
dict_replace["byteorder"] = creplaceio[io].get("byteorder")
# IO ersetzen
try:
self.io[parentio].replace_io(name=io, **dict_replace)
@@ -710,8 +706,10 @@ class RevPiModIO(object):
# Optional values
if io._bitaddress >= 0:
cp[io.name]["bit"] = str(io._bitaddress)
cp[io.name]["byteorder"] = io._byteorder
cp[io.name]["defaultvalue"] = str(io.defaultvalue)
if io._byteorder != "little":
cp[io.name]["byteorder"] = io._byteorder
if io.defaultvalue != 0:
cp[io.name]["defaultvalue"] = str(io.defaultvalue)
if io.bmk != "":
cp[io.name]["bmk"] = io.bmk