From e4bb07e8526816658191999cff01b4ba19671cfd Mon Sep 17 00:00:00 2001 From: rsazra <67849060+rsazra@users.noreply.github.com> Date: Wed, 4 Jun 2025 04:22:17 -0400 Subject: [PATCH] fix: add parent tags to `folders_to_tags` macro and start tagging at root folder (#940) * start tagging from root and add parent tags * update snapshot to pass test --- src/tagstudio/qt/modals/folders_to_tags.py | 10 +++++----- tests/qt/__snapshots__/test_folders_to_tags.ambr | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tagstudio/qt/modals/folders_to_tags.py b/src/tagstudio/qt/modals/folders_to_tags.py index 11fb3b33..1952f335 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 folders_to_tags(library: Library): 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 generate_preview_data(library: Library) -> 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 b54f3fe9..12093055 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) # ---