summaryrefslogtreecommitdiff
path: root/rtemsspec/applconfig.py
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-15 21:11:56 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-16 09:27:40 +0200
commitbe254b4ed43650c3f0bb902394768ee773f4cb47 (patch)
tree1651a411f4427524c4895a2360611e3fb3f6717e /rtemsspec/applconfig.py
parent4cd035ab1160394172d2669dd2ac22668b365991 (diff)
spec: Use external references for interfaces
Diffstat (limited to '')
-rw-r--r--rtemsspec/applconfig.py20
1 files changed, 8 insertions, 12 deletions
diff --git a/rtemsspec/applconfig.py b/rtemsspec/applconfig.py
index fde61ffa..916682f7 100644
--- a/rtemsspec/applconfig.py
+++ b/rtemsspec/applconfig.py
@@ -257,27 +257,23 @@ def _generate(group: Item, options: ItemMap, content: _ContentAdaptor) -> None:
content.add_licence_and_copyrights()
-def _get_value_doxygen_url(ctx: ItemGetValueContext) -> Any:
- url = ctx.item["references"]["url"]
- return f"<a href=\"{url}\">{ctx.value[ctx.key]}</a>"
+def _get_value_doxygen_url(ctx: ItemGetValueContext) -> Optional[str]:
+ for ref in ctx.item["references"]:
+ if ref["type"] == "url":
+ return f"<a href=\"{ref['identifier']}\">{ctx.value[ctx.key]}</a>"
+ return None
def _get_value_doxygen_unspecified_define(ctx: ItemGetValueContext) -> Any:
- if "url" in ctx.item["references"]:
- return _get_value_doxygen_url(ctx)
- return get_value_hash(ctx)
+ return _get_value_doxygen_url(ctx) or get_value_hash(ctx)
def _get_value_doxygen_unspecified_group(ctx: ItemGetValueContext) -> Any:
- if "url" in ctx.item["references"]:
- return _get_value_doxygen_url(ctx)
- return ctx.value[ctx.key]
+ return _get_value_doxygen_url(ctx) or ctx.value[ctx.key]
def _get_value_doxygen_unspecfied_type(ctx: ItemGetValueContext) -> Any:
- if "url" in ctx.item["references"]:
- return _get_value_doxygen_url(ctx)
- return get_value_double_colon(ctx)
+ return _get_value_doxygen_url(ctx) or get_value_double_colon(ctx)
def _add_doxygen_get_values(mapper: ItemMapper) -> None: