From 494c63a72bca44e7683c5d19e24202edfd03a0dd Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Tue, 10 Jan 2023 15:28:17 +0000 Subject: [PATCH] Tweak the unknown node ID exception See https://github.com/Textualize/textual/pull/1535#discussion_r1065904713 and https://github.com/Textualize/textual/pull/1535#discussion_r1065909144 --- src/textual/widgets/_tree.py | 4 ++-- tests/tree/test_tree_get_node_by_id.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/textual/widgets/_tree.py b/src/textual/widgets/_tree.py index 0f1d99af7..b6f844383 100644 --- a/src/textual/widgets/_tree.py +++ b/src/textual/widgets/_tree.py @@ -513,7 +513,7 @@ class Tree(Generic[TreeDataType], ScrollView, can_focus=True): else: return line.node - class UnknownID(Exception): + class UnknownNodeID(Exception): """Exception raised when referring to an unknown `TreeNode` ID.""" def get_node_by_id(self, node_id: NodeID) -> TreeNode[TreeDataType]: @@ -531,7 +531,7 @@ class Tree(Generic[TreeDataType], ScrollView, can_focus=True): try: return self._nodes[node_id] except KeyError: - raise self.UnknownID(f"Unknown TreeNode ID: {node_id}") from None + raise self.UnknownNodeID(f"Unknown NodeID ({node_id}) in tree") from None def validate_cursor_line(self, value: int) -> int: """Prevent cursor line from going outside of range.""" diff --git a/tests/tree/test_tree_get_node_by_id.py b/tests/tree/test_tree_get_node_by_id.py index d9eca97af..ffee36996 100644 --- a/tests/tree/test_tree_get_node_by_id.py +++ b/tests/tree/test_tree_get_node_by_id.py @@ -12,5 +12,5 @@ def test_get_tree_node_by_id() -> None: assert tree.get_node_by_id(tree.root.id).id == tree.root.id assert tree.get_node_by_id(child.id).id == child.id assert tree.get_node_by_id(grandchild.id).id == grandchild.id - with pytest.raises(Tree.UnknownID): + with pytest.raises(Tree.UnknownNodeID): tree.get_node_by_id(cast(NodeID, grandchild.id + 1000))