From f63e1973c69c4410312bf09762e5892775068d01 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Thu, 3 Mar 2011 18:06:08 +0000 Subject: [PATCH 1/2] Fix not detecting reuse of a column key --- src/calibre/gui2/preferences/create_custom_column.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/preferences/create_custom_column.py b/src/calibre/gui2/preferences/create_custom_column.py index 922717477b..07e91804a2 100644 --- a/src/calibre/gui2/preferences/create_custom_column.py +++ b/src/calibre/gui2/preferences/create_custom_column.py @@ -181,10 +181,12 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): is_multiple = False if not col_heading: return self.simple_error('', _('No column heading was provided')) + bad_col = False - if col in self.parent.custcols: + colkey = '#' + col + if colkey in self.parent.custcols: if not self.editing_col or \ - self.parent.custcols[col]['colnum'] != self.orig_column_number: + self.parent.custcols[colkey]['colnum'] != self.orig_column_number: bad_col = True if bad_col: return self.simple_error('', _('The lookup name %s is already used')%col) From 26b0d3b90704ea8ff0b78e1a3cf4917fb534ed4a Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Thu, 3 Mar 2011 18:19:22 +0000 Subject: [PATCH 2/2] Better fix for duplicate key problem --- src/calibre/gui2/preferences/create_custom_column.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/preferences/create_custom_column.py b/src/calibre/gui2/preferences/create_custom_column.py index f8d651f760..def74a4864 100644 --- a/src/calibre/gui2/preferences/create_custom_column.py +++ b/src/calibre/gui2/preferences/create_custom_column.py @@ -182,11 +182,12 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): if not col_heading: return self.simple_error('', _('No column heading was provided')) + db = self.parent.gui.library_view.model().db + key = db.field_metadata.custom_field_prefix+col bad_col = False - colkey = '#' + col - if colkey in self.parent.custcols: + if key in self.parent.custcols: if not self.editing_col or \ - self.parent.custcols[colkey]['colnum'] != self.orig_column_number: + self.parent.custcols[key]['colnum'] != self.orig_column_number: bad_col = True if bad_col: return self.simple_error('', _('The lookup name %s is already used')%col) @@ -232,8 +233,6 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): 'list more than once').format(l[i])) display_dict = {'enum_values': l} - db = self.parent.gui.library_view.model().db - key = db.field_metadata.custom_field_prefix+col if not self.editing_col: db.field_metadata self.parent.custcols[key] = {