summaryrefslogtreecommitdiff
path: root/grc/core/FlowGraph.py
diff options
context:
space:
mode:
authorBrennan Ashton <bashton@brennanashton.com>2018-11-14 18:30:16 -0800
committerMartin Braun <martin.braun@ettus.com>2018-11-15 15:44:05 -0800
commitd23fa96427c00bc2d149e6c55cf1f43ac956c213 (patch)
treee254281594ce571e64adb4108b46a1b02cc6682a /grc/core/FlowGraph.py
parentf520e2af4fc41a09b068c2a5e771aba5af412582 (diff)
grc: Log exceptions on namespace renewal
Diffstat (limited to 'grc/core/FlowGraph.py')
-rw-r--r--grc/core/FlowGraph.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/grc/core/FlowGraph.py b/grc/core/FlowGraph.py
index 72d0594081..a47513d314 100644
--- a/grc/core/FlowGraph.py
+++ b/grc/core/FlowGraph.py
@@ -21,6 +21,8 @@ import collections
import itertools
import sys
import types
+import logging
+
from operator import methodcaller, attrgetter
from . import Messages, blocks
@@ -29,6 +31,8 @@ from .base import Element
from .utils import expr_utils
from .utils.backports import shlex
+log = logging.getLogger(__name__)
+
class FlowGraph(Element):
@@ -187,7 +191,8 @@ class FlowGraph(Element):
for expr in self.imports():
try:
exec(expr, namespace)
- except:
+ except Exception:
+ log.exception('Failed to evaluate expression in namespace', exc_info=True)
pass
for id, expr in self.get_python_modules():
@@ -195,7 +200,8 @@ class FlowGraph(Element):
module = types.ModuleType(id)
exec(expr, module.__dict__)
namespace[id] = module
- except:
+ except Exception:
+ log.exception('Failed to evaluate expression in module {0}'.format(id), exc_info=True)
pass
# Load parameters
@@ -204,7 +210,8 @@ class FlowGraph(Element):
try:
value = eval(parameter_block.params['value'].to_code(), namespace)
np[parameter_block.name] = value
- except:
+ except Exception:
+ log.exception('Failed to evaluate parameter block {0}'.format(parameter_block.name), exc_info=True)
pass
namespace.update(np) # Merge param namespace
@@ -213,7 +220,8 @@ class FlowGraph(Element):
try:
value = eval(variable_block.value, namespace, variable_block.namespace)
namespace[variable_block.name] = value
- except:
+ except Exception:
+ log.exception('Failed to evaluate variable block {0}'.format(variable_block.name), exc_info=True)
pass
self.namespace.clear()