diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 4b6fb2f7f2..3b7efd500d 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -144,6 +144,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.initialize_dynamic() def initialize_dynamic(self): + self.field_metadata = FieldMetadata() #Ensure we start with a clean copy self.prefs = DBPrefs(self) defs = self.prefs.defaults defs['gui_restriction'] = defs['cs_restriction'] = '' @@ -2151,8 +2152,6 @@ books_series_link feeds os.remove(self.dbpath) shutil.copyfile(dest, self.dbpath) self.connect() - self.field_metadata.remove_dynamic_categories() - self.field_metadata.remove_custom_fields() self.initialize_dynamic() self.refresh() if os.path.exists(dest): diff --git a/src/calibre/library/field_metadata.py b/src/calibre/library/field_metadata.py index e28b6d422a..09dd024b66 100644 --- a/src/calibre/library/field_metadata.py +++ b/src/calibre/library/field_metadata.py @@ -306,7 +306,7 @@ class FieldMetadata(dict): self._tb_cats[k]['label'] = k self._tb_cats[k]['display'] = {} self._tb_cats[k]['is_editable'] = True - self._add_search_terms_to_map(k, self._tb_cats[k]['search_terms']) + self._add_search_terms_to_map(k, v['search_terms']) self.custom_field_prefix = '#' self.get = self._tb_cats.get @@ -408,16 +408,6 @@ class FieldMetadata(dict): self._add_search_terms_to_map(key, [key]) self.custom_label_to_key_map[label+'_index'] = key - def remove_custom_fields(self): - for key in self.get_custom_fields(): - del self._tb_cats[key] - - def remove_dynamic_categories(self): - for key in list(self._tb_cats.keys()): - val = self._tb_cats[key] - if val['is_category'] and val['kind'] in ('user', 'search'): - del self._tb_cats[key] - def cc_series_index_column_for(self, key): return self._tb_cats[key]['rec_index'] + 1