From e2940de4a48dab6576cf15ff1bb972405a47113c Mon Sep 17 00:00:00 2001 From: RumovZ Date: Wed, 3 Mar 2021 09:20:02 +0100 Subject: [PATCH] Escape backslashes in re.sub()'s repl --- qt/aqt/sidebar.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/qt/aqt/sidebar.py b/qt/aqt/sidebar.py index 674df43aa..67ffda1c5 100644 --- a/qt/aqt/sidebar.py +++ b/qt/aqt/sidebar.py @@ -66,7 +66,12 @@ class SidebarItemType(Enum): return self in self.section_roots() def is_editable(self) -> bool: - return self in (SidebarItemType.SAVED_SEARCH, SidebarItemType.DECK, SidebarItemType.TAG) + return self in ( + SidebarItemType.SAVED_SEARCH, + SidebarItemType.DECK, + SidebarItemType.TAG, + ) + class SidebarStage(Enum): ROOT = auto() @@ -1187,7 +1192,9 @@ class SidebarTreeView(QTreeView): def rename_node(self, item: SidebarItem, text: str) -> bool: if text.replace('"', ""): - new_name = re.sub(re.escape(item.name) + "$", text, item.full_name) + new_name = re.sub( + re.escape(item.name) + "$", text.replace("\\", r"\\"), item.full_name + ) if item.item_type == SidebarItemType.DECK: self.rename_deck(item, new_name) if item.item_type == SidebarItemType.SAVED_SEARCH: