From 01c090592a323ffbc19570d3ed60e0452ff51bae Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 29 Sep 2020 16:50:24 +0530 Subject: [PATCH] Switch the bulk metadata edit dialog to also use the more advanced regex engine Matches the rest of calibre --- src/calibre/gui2/dialogs/metadata_bulk.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 7efb980881..b826711655 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -3,7 +3,7 @@ # License: GPLv3 Copyright: 2008, Kovid Goyal -import re, numbers +import regex, numbers from collections import defaultdict, namedtuple from io import BytesIO from threading import Thread @@ -973,22 +973,19 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): def s_r_paint_results(self, txt): self.s_r_error = None self.s_r_set_colors() + flags = regex.VERSION1 | regex.FULLCASE | regex.UNICODE if self.case_sensitive.isChecked(): - flags = 0 - else: - flags = re.I - - flags |= re.UNICODE + flags |= regex.IGNORECASE try: stext = unicode_type(self.search_for.text()) if not stext: raise Exception(_('You must specify a search expression in the "Search for" field')) if self.search_mode.currentIndex() == 0: - self.s_r_obj = re.compile(re.escape(stext), flags) + self.s_r_obj = regex.compile(regex.escape(stext), flags) else: - self.s_r_obj = re.compile(stext, flags) + self.s_r_obj = regex.compile(stext, flags) except Exception as e: self.s_r_obj = None self.s_r_error = e