Skip to content

Commit 26d8574

Browse files
committed
tree
1 parent 58691c6 commit 26d8574

2 files changed

Lines changed: 18 additions & 5 deletions

File tree

deepmd/dpmodel/utils/serialization.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -337,12 +337,17 @@ def from_list(cls, data_list: list[Any]) -> "Node":
337337
return cls("ListNode", children, data, variables)
338338

339339
def __str__(self) -> str:
340+
elbow = "└──"
341+
pipe = "│ "
342+
tee = "├──"
343+
blank = " "
344+
linebreak = "\n"
340345
buff = []
341346
buff.append(f"{self.name} (size={format_big_number(self.size)})")
342347
children_buff = []
343-
for kk, vv in self.children.items():
348+
for ii, (kk, vv) in enumerate(self.children.items()):
344349
# add indentation
345-
child_repr = str(vv).replace("\n", "\n ")
350+
child_repr = str(vv)
346351
if len(children_buff) > 0:
347352
# check if it is the same as the last one
348353
last_repr = children_buff[-1][1]
@@ -360,5 +365,13 @@ def format_list_keys(kk: str) -> str:
360365
return f"[{keys[0]}...{keys[-1]}]"
361366
return kk
362367

363-
buff.extend(f" {format_list_keys(kk)} -> {vv}" for kk, vv in children_buff)
368+
buff.extend(
369+
f"{tee if ii < len(children_buff) - 1 else elbow}{format_list_keys(kk)} -> {
370+
vv.replace(
371+
linebreak,
372+
linebreak + (pipe if ii < len(children_buff) - 1 else blank),
373+
)
374+
}"
375+
for ii, (kk, vv) in enumerate(children_buff)
376+
)
364377
return "\n".join(buff)

source/tests/common/dpmodel/test_network.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,8 @@ def test_save_load_model_yaml(self) -> None:
312312
def test_node_display(self):
313313
disp_expected = textwrap.dedent("""\
314314
some_class some_type (size=18)
315-
layers -> ListNode (size=18)
316-
0, 1 -> Node (size=9)""")
315+
└──layers -> ListNode (size=18)
316+
└──0, 1 -> Node (size=9)""")
317317
disp = str(Node.deserialize(self.model_dict))
318318
self.assertEqual(disp, disp_expected)
319319

0 commit comments

Comments
 (0)