ignore already rendered values when assembling references
diff --git a/reclass/utils/dictitem.py b/reclass/utils/dictitem.py
index 9492f49..d612480 100644
--- a/reclass/utils/dictitem.py
+++ b/reclass/utils/dictitem.py
@@ -18,11 +18,14 @@
self._assembleRefs_recurse_dict(self._dict)
def _assembleRefs_recurse_dict(self, items):
+ from reclass.utils.value import Value
+ from reclass.utils.valuelist import ValueList
+
for key, item in items.iteritems():
if isinstance(item, dict):
self._assembleRefs_recurse_dict(item)
continue
- if item.has_references():
+ if isinstance(item, (Value, ValueList)) and item.has_references():
for ref in item.get_references():
self._refs.append(ref)
if not item.allRefs():
diff --git a/reclass/utils/listitem.py b/reclass/utils/listitem.py
index 4abf9a6..fa17491 100644
--- a/reclass/utils/listitem.py
+++ b/reclass/utils/listitem.py
@@ -13,10 +13,13 @@
self.assembleRefs()
def assembleRefs(self, context={}):
+ from reclass.utils.value import Value
+ from reclass.utils.valuelist import ValueList
+
self._refs = []
self._allRefs = True
for item in self._list:
- if item.has_references():
+ if isinstance(item, (Value, ValueList)) and item.has_references():
for ref in item.get_references():
self._refs.append(ref)
if not item.allRefs():