8000 Fix the following issues · realpython/rptree@d93c1f2 · GitHub
[go: up one dir, main page]

Skip to content

Commit d93c1f2

Browse files
committed
Fix the following issues
- Add the required pipe connector for directories - Prevent unneeded extra blank entries at the end of the tree Also, rename entries_count to last_index for readability.
1 parent 317af4e commit d93c1f2

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

rptree/rptree.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,17 @@ def build_tree(self):
4444

4545
def _tree_head(self):
4646
self._tree.append(f"{self._root_dir}{os.sep}")
47-
self._tree.append(PIPE)
4847

4948
def _tree_body(self, directory, prefix=""):
5049
entries = self._prepare_entries(directory)
51-
entries_count = len(entries)
50+
last_index = len(entries) - 1
5251
for index, entry in enumerate(entries):
53-
connector = ELBOW if index == entries_count - 1 else TEE
52+
connector = ELBOW if index == last_index else TEE
5453
if entry.is_dir():
54+
if index == 0:
55+
self._tree.append(prefix + PIPE)
5556
self._add_directory(
56-
entry, index, entries_count, prefix, connector
57+
entry, index, last_index, prefix, connector
5758
)
5859
else:
5960
self._add_file(entry, prefix, connector)
@@ -67,18 +68,19 @@ def _prepare_entries(self, directory):
6768
return sorted(entries, key=lambda entry: entry.is_file())
6869

6970
def _add_directory(
70-
self, directory, index, entries_count, prefix, connector
71+
self, directory, index, last_index, prefix, connector
7172
):
7273
self._tree.append(f"{prefix}{connector} {directory.name}{os.sep}")
73-
if index != entries_count - 1:
74+
if index != last_index:
7475
prefix += PIPE_PREFIX
7576
else:
7677
prefix += SPACE_PREFIX
7778
self._tree_body(
7879
directory=directory,
7980
prefix=prefix,
8081
)
81-
self._tree.append(prefix.rstrip())
82+
if prefix := prefix.rstrip():
83+
self._tree.append(prefix)
8284

8385
def _add_file(self, file, prefix, connector):
8486
self._tree.append(f"{prefix}{connector} {file.name}")

0 commit comments

Comments
 (0)
0