mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-10 20:10:00 +00:00
Bugfix metadata backup with custom columns
This commit is contained in:
commit
46d2d217ee
@ -408,7 +408,7 @@ class CustomColumns(Base):
|
|||||||
content['table'] = "custom_column_" + str(self.id)
|
content['table'] = "custom_column_" + str(self.id)
|
||||||
content['column'] = "value"
|
content['column'] = "value"
|
||||||
content['datatype'] = self.datatype
|
content['datatype'] = self.datatype
|
||||||
content['is_multiple'] = None if not self.is_multiple else self.is_multiple
|
content['is_multiple'] = None if not self.is_multiple else "|"
|
||||||
content['kind'] = "field"
|
content['kind'] = "field"
|
||||||
content['name'] = self.name
|
content['name'] = self.name
|
||||||
content['search_terms'] = ['#' + self.label]
|
content['search_terms'] = ['#' + self.label]
|
||||||
@ -422,9 +422,12 @@ class CustomColumns(Base):
|
|||||||
content['is_csp'] = False
|
content['is_csp'] = False
|
||||||
content['is_editable'] = self.editable
|
content['is_editable'] = self.editable
|
||||||
content['rec_index'] = sequence + 22 # toDo why ??
|
content['rec_index'] = sequence + 22 # toDo why ??
|
||||||
content['#value#'] = value
|
if isinstance(value, datetime):
|
||||||
|
content['#value#'] = {"__class__": "datetime.datetime", "__value__": value.strftime("%Y-%m-%dT%H:%M:%S+00:00")}
|
||||||
|
else:
|
||||||
|
content['#value#'] = value
|
||||||
content['#extra#'] = extra
|
content['#extra#'] = extra
|
||||||
content['is_multiple2'] = {}
|
content['is_multiple2'] = {} if not self.is_multiple else {"cache_to_list": "|", "ui_to_list": ",", "list_to_ui": ", "}
|
||||||
return json.dumps(content, ensure_ascii=False)
|
return json.dumps(content, ensure_ascii=False)
|
||||||
|
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ class TaskBackupMetadata(CalibreTask):
|
|||||||
extra = None
|
extra = None
|
||||||
cc_entry = getattr(book, "custom_column_" + str(cc.id))
|
cc_entry = getattr(book, "custom_column_" + str(cc.id))
|
||||||
if cc_entry.__len__():
|
if cc_entry.__len__():
|
||||||
value = cc_entry[0].value
|
value = [c.value for c in cc_entry] if cc.is_multiple else cc_entry[0].value
|
||||||
extra = cc_entry[0].extra if hasattr(cc_entry[0], "extra") else None
|
extra = cc_entry[0].extra if hasattr(cc_entry[0], "extra") else None
|
||||||
etree.SubElement(metadata, "meta", name="calibre:user_metadata:#{}".format(cc.label),
|
etree.SubElement(metadata, "meta", name="calibre:user_metadata:#{}".format(cc.label),
|
||||||
content=cc.to_json(value, extra, sequence),
|
content=cc.to_json(value, extra, sequence),
|
||||||
|
Loading…
Reference in New Issue
Block a user