From 48dbfa26c937517091c854d68ed6fd77ed5ad3be Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 20 Feb 2014 10:15:13 +0530 Subject: [PATCH] Bulk metadata edit search and replace: Do not allow the user to perform the search and replace until she enters a search expression. See #1282357 (error produced during "Edit metadata in bulk" for replacing a value) --- src/calibre/gui2/dialogs/metadata_bulk.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 16c387e8ec..e111562d2f 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -794,10 +794,13 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog): flags |= re.UNICODE try: + stext = unicode(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(unicode(self.search_for.text())), flags) + self.s_r_obj = re.compile(re.escape(stext), flags) else: - self.s_r_obj = re.compile(unicode(self.search_for.text()), flags) + self.s_r_obj = re.compile(stext, flags) except Exception as e: self.s_r_obj = None self.s_r_error = e