mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Refactor code to clean interfaces and remove overly complex loop in bulk edit
This commit is contained in:
parent
b2a6ed3af4
commit
5297562383
@ -167,8 +167,7 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
|
||||
self.tag_editor_button.clicked.connect(self.tag_editor)
|
||||
self.autonumber_series.stateChanged[int].connect(self.auto_number_changed)
|
||||
|
||||
if len([k for k in db.custom_field_metadata().values()
|
||||
if k['datatype'] != 'composite']) == 0:
|
||||
if len(db.custom_field_keys(include_composites=False)) == 0:
|
||||
self.central_widget.removeTab(1)
|
||||
else:
|
||||
self.create_custom_column_editors()
|
||||
|
@ -539,8 +539,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
|
||||
def standard_field_keys(self):
|
||||
return self.field_metadata.standard_field_keys()
|
||||
|
||||
def custom_field_keys(self):
|
||||
return self.field_metadata.custom_field_keys()
|
||||
def custom_field_keys(self, include_composites=True):
|
||||
return self.field_metadata.custom_field_keys(include_composites)
|
||||
|
||||
def all_field_keys(self):
|
||||
return self.field_metadata.all_field_keys()
|
||||
@ -554,8 +554,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
|
||||
def search_term_to_field_key(self, term):
|
||||
return self.field_metadata.search_term_to_key(term)
|
||||
|
||||
def custom_field_metadata(self):
|
||||
return self.field_metadata.custom_field_metadata()
|
||||
def custom_field_metadata(self, include_composites=True):
|
||||
return self.field_metadata.custom_field_metadata(include_composites)
|
||||
|
||||
def all_metadata(self):
|
||||
return self.field_metadata.all_metadata()
|
||||
|
@ -358,10 +358,14 @@ class FieldMetadata(dict):
|
||||
if self._tb_cats[k]['kind']=='field' and
|
||||
not self._tb_cats[k]['is_custom']]
|
||||
|
||||
def custom_field_keys(self):
|
||||
return [k for k in self._tb_cats.keys()
|
||||
if self._tb_cats[k]['kind']=='field' and
|
||||
self._tb_cats[k]['is_custom']]
|
||||
def custom_field_keys(self, include_composites=True):
|
||||
res = []
|
||||
for k in self._tb_cats.keys():
|
||||
fm = self._tb_cats[k]
|
||||
if fm['kind']=='field' and fm['is_custom'] and \
|
||||
(fm['datatype'] != 'composite' or include_composites):
|
||||
res.append(k)
|
||||
return res
|
||||
|
||||
def all_field_keys(self):
|
||||
return [k for k in self._tb_cats.keys() if self._tb_cats[k]['kind']=='field']
|
||||
@ -402,20 +406,16 @@ class FieldMetadata(dict):
|
||||
return self.custom_label_to_key_map[label]
|
||||
raise ValueError('Unknown key [%s]'%(label))
|
||||
|
||||
def get_custom_fields(self):
|
||||
return [l for l in self._tb_cats if self._tb_cats[l]['is_custom']]
|
||||
|
||||
def all_metadata(self):
|
||||
l = {}
|
||||
for k in self._tb_cats:
|
||||
l[k] = self._tb_cats[k]
|
||||
return l
|
||||
|
||||
def custom_field_metadata(self):
|
||||
def custom_field_metadata(self, include_composites=True):
|
||||
l = {}
|
||||
for k in self._tb_cats:
|
||||
if self._tb_cats[k]['is_custom']:
|
||||
l[k] = self._tb_cats[k]
|
||||
for k in self.custom_field_keys(include_composites):
|
||||
l[k] = self._tb_cats[k]
|
||||
return l
|
||||
|
||||
def add_custom_field(self, label, table, column, datatype, colnum, name,
|
||||
|
Loading…
x
Reference in New Issue
Block a user