From ce07d4cef1980c0fa10127acc076fcf49c473350 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Tue, 9 Nov 2010 09:36:07 +0000 Subject: [PATCH 1/2] remove 'sort' from the search/replace writable fields. Make it work as an input field. --- src/calibre/gui2/dialogs/metadata_bulk.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 6b5ef60263..51383fbba2 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -240,13 +240,13 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.writable_fields = [''] fm = self.db.field_metadata for f in fm: - if (f in ['author_sort'] or ( - fm[f]['datatype'] in ['text', 'series']) - and fm[f].get('search_terms', None) - and f not in ['formats', 'ondevice']): + if (f in ['author_sort'] or + (fm[f]['datatype'] in ['text', 'series'] + and fm[f].get('search_terms', None) + and f not in ['formats', 'ondevice', 'sort'])): self.all_fields.append(f) self.writable_fields.append(f) - if fm[f]['datatype'] == 'composite': + if f in ['sort'] or fm[f]['datatype'] == 'composite': self.all_fields.append(f) self.all_fields.sort() self.writable_fields.sort() @@ -338,7 +338,11 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): def s_r_get_field(self, mi, field): if field: fm = self.db.metadata_for_field(field) - val = mi.get(field, None) + if field == 'sort': + val = mi.get('title_sort', None) + else: + val = mi.get(field, None) + print field, val if val is None: val = [] elif not fm['is_multiple']: From 0ed382a28d0142a957284c16033a5619f65d6126 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Tue, 9 Nov 2010 09:37:11 +0000 Subject: [PATCH 2/2] Remove 'experimental' from search and replace. --- src/calibre/gui2/dialogs/metadata_bulk.py | 1 - src/calibre/gui2/dialogs/metadata_bulk.ui | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 51383fbba2..b8b3eabc68 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -274,7 +274,6 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.main_heading = _( 'You can destroy your library using this feature. ' 'Changes are permanent. There is no undo function. ' - ' This feature is experimental, and there may be bugs. ' 'You are strongly encouraged to back up your library ' 'before proceeding.

' 'Search and replace in text fields using character matching ' diff --git a/src/calibre/gui2/dialogs/metadata_bulk.ui b/src/calibre/gui2/dialogs/metadata_bulk.ui index 62a40a9676..c6830c5d5f 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.ui +++ b/src/calibre/gui2/dialogs/metadata_bulk.ui @@ -400,7 +400,7 @@ Future conversion of these books will use the default settings. - &Search and replace (experimental) + &Search and replace