When using copy to library also create missing composite columns in the destination library. Fixes #1516880 [Logic custom columns NOT copying from one library to another](https://bugs.launchpad.net/calibre/+bug/1516880)

Merge branch 'master' of https://github.com/cbhaley/calibre
This commit is contained in:
Kovid Goyal 2015-11-17 15:29:40 +05:30
commit d6f40f2d8c

View File

@ -432,11 +432,12 @@ class CopyToLibraryAction(InterfaceAction):
incompatible_columns = [] incompatible_columns = []
missing_columns = [] missing_columns = []
for k, m in db.field_metadata.custom_iteritems(): for k, m in db.field_metadata.custom_iteritems():
if m['datatype'] == 'composite':
continue
if k not in newdb_meta: if k not in newdb_meta:
missing_columns.append(k) missing_columns.append(k)
elif not self._column_is_compatible(m, newdb_meta[k]): elif not self._column_is_compatible(m, newdb_meta[k]):
# Note that composite columns are always assumed to be
# compatible. No attempt is made to copy the template
# from the source to the destination.
incompatible_columns.append(k) incompatible_columns.append(k)
if missing_columns or incompatible_columns: if missing_columns or incompatible_columns: