mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-10-09 14:40:55 +08:00
Merge pull request #77 from aeisenbarth/filter-empty-folders
Filter directories without h5ad files
This commit is contained in:
@@ -68,7 +68,7 @@ class FileItemSource(ItemSource):
|
||||
|
||||
return item_tree
|
||||
|
||||
def scan_directory(self, subpath="") -> dict:
|
||||
def scan_directory(self, subpath: str = "") -> ItemTree:
|
||||
base_path = os.path.join(self.base_path, subpath)
|
||||
|
||||
if not os.path.exists(base_path):
|
||||
@@ -105,6 +105,11 @@ class FileItemSource(ItemSource):
|
||||
branches = [
|
||||
self.scan_directory(os.path.join(subpath, subdir)) for subdir in subdirs
|
||||
]
|
||||
# Exclude branches without files as leaves. Since traversal is applied pre-order,
|
||||
# branch.branches has already been processed and we don't need to check deeper nesting.
|
||||
branches = [
|
||||
branch for branch in branches if branch.items or branch.branches
|
||||
]
|
||||
|
||||
return ItemTree(subpath, items, branches)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user