Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c416116

Browse filesBrowse files
committed
refactored drawtree.py
1 parent e3ee75a commit c416116
Copy full SHA for c416116

File tree

Expand file treeCollapse file tree

3 files changed

+20
-14
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+20
-14
lines changed

‎17-it-generator/tree/extra/drawtree.py

Copy file name to clipboardExpand all lines: 17-it-generator/tree/extra/drawtree.py
+4-4Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99

1010
def render_lines(tree_iter):
11-
name, _, _ = next(tree_iter)
12-
yield name
11+
cls, _, _ = next(tree_iter)
12+
yield cls.__name__
1313
prefix = ''
1414

15-
for name, level, last in tree_iter:
15+
for cls, level, last in tree_iter:
1616
prefix = prefix[:4 * (level-1)]
1717
prefix = prefix.replace(TEE, PIPE).replace(ELBOW, SP*4)
1818
prefix += ELBOW if last else TEE
19-
yield prefix + name
19+
yield prefix + cls.__name__
2020

2121

2222
def draw(cls):

‎17-it-generator/tree/extra/test_tree.py

Copy file name to clipboardExpand all lines: 17-it-generator/tree/extra/test_tree.py
+12-6Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
def test_1_level():
55
class One: pass
66
expected = [('One', 0, True)]
7-
result = list(tree(One))
7+
result = [(cls.__name__, level, last)
8+
for cls, level, last in tree(One)]
89
assert expected == result
910

1011

@@ -17,7 +18,8 @@ class Leaf2(Branch): pass
1718
('Leaf1', 1, False),
1819
('Leaf2', 1, True),
1920
]
20-
result = list(tree(Branch))
21+
result = [(cls.__name__, level, last)
22+
for cls, level, last in tree(Branch)]
2123
assert expected == result
2224

2325

@@ -30,7 +32,8 @@ class Z(Y): pass
3032
('Y', 1, True),
3133
('Z', 2, True),
3234
]
33-
result = list(tree(X))
35+
result = [(cls.__name__, level, last)
36+
for cls, level, last in tree(X)]
3437
assert expected == result
3538

3639

@@ -46,7 +49,8 @@ class Level3(Level2): pass
4649
('Level3', 3, True),
4750
]
4851

49-
result = list(tree(Level0))
52+
result = [(cls.__name__, level, last)
53+
for cls, level, last in tree(Level0)]
5054
assert expected == result
5155

5256

@@ -68,7 +72,8 @@ class D2(C1): pass
6872
('C2', 2, True),
6973
]
7074

71-
result = list(tree(A))
75+
result = [(cls.__name__, level, last)
76+
for cls, level, last in tree(A)]
7277
assert expected == result
7378

7479

@@ -83,7 +88,8 @@ class Root: pass
8388
expected.append((name, level, True))
8489
parent = cls
8590

86-
result = list(tree(Root))
91+
result = [(cls.__name__, level, last)
92+
for cls, level, last in tree(Root)]
8793
assert len(result) == level_count
8894
assert result[0] == ('Root', 0, True)
8995
assert result[-1] == ('Sub99', 99, True)

‎17-it-generator/tree/extra/tree.py

Copy file name to clipboardExpand all lines: 17-it-generator/tree/extra/tree.py
+4-4Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
def tree(cls, level=0, last_in_level=True):
2-
yield cls.__name__, level, last_in_level
1+
def tree(cls, level=0, last_sibling=True):
2+
yield cls, level, last_sibling
33
subclasses = cls.__subclasses__()
44
if subclasses:
55
last = subclasses[-1]
@@ -8,9 +8,9 @@ def tree(cls, level=0, last_in_level=True):
88

99

1010
def display(cls):
11-
for cls_name, level, _ in tree(cls):
11+
for cls, level, _ in tree(cls):
1212
indent = ' ' * 4 * level
13-
print(f'{indent}{cls_name}')
13+
print(f'{indent}{cls.__name__}')
1414

1515

1616
if __name__ == '__main__':

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.