[rtems-central commit] specview.py: Display link roles
Sebastian Huber
sebh at rtems.org
Wed Jul 21 17:20:21 UTC 2021
Module: rtems-central
Branch: master
Commit: 8b34a183e569267802313bf874456ff5c4cdbdcd
Changeset: http://git.rtems.org/rtems-central/commit/?id=8b34a183e569267802313bf874456ff5c4cdbdcd
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Wed Jul 21 16:12:54 2021 +0200
specview.py: Display link roles
---
specview.py | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/specview.py b/specview.py
index 7c218f7..584e168 100755
--- a/specview.py
+++ b/specview.py
@@ -28,7 +28,7 @@
import argparse
import itertools
import sys
-from typing import Any, List, Set, Tuple
+from typing import Any, List, Optional, Set, Tuple
from rtemsspec.items import EmptyItem, Item, ItemCache, ItemMapper, \
ItemGetValueContext, Link
@@ -80,8 +80,9 @@ _VISITORS = {
}
-def _visit_item(item: Item, level: int) -> None:
- print(f"{' ' * level}{item.uid}")
+def _visit_item(item: Item, level: int, role: Optional[str]) -> None:
+ role_info = "" if role is None else f" ({role})"
+ print(f"{' ' * level}{item.uid}{role_info}")
for name in ["text", "brief", "description", "notes"]:
if name in item:
_MAPPER.substitute(item[name], item)
@@ -94,16 +95,16 @@ def _visit_item(item: Item, level: int) -> None:
def _view_interface_placment(item: Item, level: int) -> None:
- for child in item.children("interface-placement"):
- _visit_item(child, level)
- _view_interface_placment(child, level + 1)
+ for link in item.links_to_children("interface-placement"):
+ _visit_item(link.item, level, link.role)
+ _view_interface_placment(link.item, level + 1)
-def _view(item: Item, level: int) -> None:
- _visit_item(item, level)
+def _view(item: Item, level: int, role: Optional[str]) -> None:
+ _visit_item(item, level, role)
_view_interface_placment(item, level + 1)
- for child in item.children(_CHILD_ROLES):
- _view(child, level + 1)
+ for link in item.links_to_children(_CHILD_ROLES):
+ _view(link.item, level + 1, link.role)
def _no_validation(item: Item, path: List[str]) -> List[str]:
@@ -247,7 +248,7 @@ def main() -> None:
root = item_cache["/req/root"]
if args.filter == "none":
- _view(root, 0)
+ _view(root, 0, None)
elif args.filter == "action-table":
enabled = args.enabled.split(",") if args.enabled else []
for uid in args.UIDs:
More information about the vc
mailing list