diff --git a/meshroom/core/attribute.py b/meshroom/core/attribute.py index 4705f33dba..dd28c9b684 100644 --- a/meshroom/core/attribute.py +++ b/meshroom/core/attribute.py @@ -4,6 +4,7 @@ import re import weakref import types +import logging from meshroom.common import BaseObject, Property, Variant, Signal, ListModel, DictModel, Slot from meshroom.core import desc, pyCompatibility, hashValue @@ -190,7 +191,10 @@ def _applyExpr(self): # value is a link to another attribute link = v[1:-1] linkNode, linkAttr = link.split('.') - g.addEdge(g.node(linkNode).attribute(linkAttr), self) + try: + g.addEdge(g.node(linkNode).attribute(linkAttr), self) + except KeyError as err: + logging.warning('Connect Attribute from Expression failed.\nExpression: "{exp}"\nError: "{err}".'.format(exp=v, err=err)) self.resetValue() def getExportValue(self):