Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do. svghmi
authorEdouard Tisserant
Wed, 13 May 2020 14:47:17 +0200
branchsvghmi
changeset 2964 a7b11c9f468e
parent 2957 c0ea5015e46f
child 2965 8f928cee01e5
Added FatalError call to Libraries code gen, so that they can emit messages addressed like config tree nodes do.
ConfigTreeNode.py
POULibrary.py
--- 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):