diff --git a/src/tagstudio/qt/modals/folders_to_tags.py b/src/tagstudio/qt/modals/folders_to_tags.py index 11fb3b335..1952f335f 100644 --- a/src/tagstudio/qt/modals/folders_to_tags.py +++ b/src/tagstudio/qt/modals/folders_to_tags.py @@ -44,14 +44,14 @@ class BranchData: def add_folders_to_tree(library: Library, tree: BranchData, items: tuple[str, ...]) -> BranchData: branch = tree + parent_tag = None for folder in items: if folder not in branch.dirs: - # TODO: Reimplement parent tags - new_tag = Tag(name=folder) + new_tag = Tag(name=folder, parent_tags=({parent_tag} if parent_tag else None)) library.add_tag(new_tag) branch.dirs[folder] = BranchData(tag=new_tag) - branch.tag = new_tag branch = branch.dirs[folder] + parent_tag = branch.tag return branch @@ -71,7 +71,7 @@ def add_tag_to_tree(items: list[Tag]): add_tag_to_tree(reversed_tag) for entry in library.get_entries(): - folders = entry.path.parts[1:-1] + folders = entry.path.parts[0:-1] if not folders: continue @@ -124,7 +124,7 @@ def _add_folders_to_tree(items: Sequence[str]) -> BranchData: add_tag_to_tree(reversed_tag) for entry in library.get_entries(): - folders = entry.path.parts[1:-1] + folders = entry.path.parts[0:-1] if not folders: continue diff --git a/tests/qt/__snapshots__/test_folders_to_tags.ambr b/tests/qt/__snapshots__/test_folders_to_tags.ambr index b54f3fe97..12093055d 100644 --- a/tests/qt/__snapshots__/test_folders_to_tags.ambr +++ b/tests/qt/__snapshots__/test_folders_to_tags.ambr @@ -1,4 +1,4 @@ # serializer version: 1 # name: test_generate_preview_data - BranchData(dirs={'two': BranchData(dirs={}, files=['bar.md'], tag=)}, files=[], tag=None) + BranchData(dirs={'one': BranchData(dirs={'two': BranchData(dirs={}, files=['bar.md'], tag=)}, files=[], tag=)}, files=[], tag=None) # ---