summaryrefslogtreecommitdiffstats
path: root/rtemsspec/items.py
diff options
context:
space:
mode:
Diffstat (limited to 'rtemsspec/items.py')
-rw-r--r--rtemsspec/items.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/rtemsspec/items.py b/rtemsspec/items.py
index 0e22f640..32a9eeaa 100644
--- a/rtemsspec/items.py
+++ b/rtemsspec/items.py
@@ -506,8 +506,16 @@ class ItemMapper:
"""
if not text:
return ""
- context = _ItemMapperContext(self, item, prefix, self._recursive)
- return ItemTemplate(text).substitute(context)
+ try:
+ context = _ItemMapperContext(self, item, prefix, self._recursive)
+ return ItemTemplate(text).substitute(context)
+ except Exception as err:
+ spec = self._item.spec if item is None else item.spec
+ if prefix is None:
+ prefix = "/".join(self._prefix)
+ msg = (f"substitution for {spec} using prefix '{prefix}' "
+ f"failed for text: {text}")
+ raise ValueError(msg) from err
class _SpecType(NamedTuple):