Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do.
--- a/ConfigTreeNode.py Mon May 11 11:33:00 2020 +0200
+++ b/ConfigTreeNode.py Wed May 13 14:47:17 2020 +0200
@@ -678,6 +678,7 @@
raise UserAddressedException(message)
+# Exception type for problems that user has to take action in order to fix
class UserAddressedException(Exception):
pass
--- a/POULibrary.py Mon May 11 11:33:00 2020 +0200
+++ b/POULibrary.py Wed May 13 14:47:17 2020 +0200
@@ -26,6 +26,7 @@
from __future__ import absolute_import
from weakref import ref
+from ConfigTreeNode import UserAddressedException
class POULibrary(object):
def __init__(self, CTR, LibName, TypeStack):
@@ -59,6 +60,11 @@
# Pure python or IEC libs doesn't produce C code
return ((""), [], False), ""
+ def FatalError(self, message):
+ """ Raise an exception that will trigger error message intended to
+ the user, but without backtrace since it is not a software error """
+
+ raise UserAddressedException(message)
def SimplePOULibraryFactory(path):
class SimplePOULibrary(POULibrary):