mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
...
This commit is contained in:
parent
6cadb702e9
commit
25875f8356
@ -36,7 +36,7 @@ def get_preferred_format(metadata, output_format, input_formats):
|
|||||||
break
|
break
|
||||||
return fmt.toUpperCase()
|
return fmt.toUpperCase()
|
||||||
|
|
||||||
IGNORED_FIELDS = {'title', 'id', 'urls_from_identifiers', 'lang_names', 'last_modified'}
|
IGNORED_FIELDS = {'title', 'sort', 'uuid', 'id', 'urls_from_identifiers', 'lang_names', 'last_modified'}
|
||||||
|
|
||||||
default_sort = {f:i+1 for i, f in enumerate(('title', 'title_sort', 'authors', 'author_sort', 'series', 'rating', 'pubdate', 'tags', 'timestamp', 'pubdate', 'identifiers', 'languages', 'publisher', 'last_modified'))}
|
default_sort = {f:i+1 for i, f in enumerate(('title', 'title_sort', 'authors', 'author_sort', 'series', 'rating', 'pubdate', 'tags', 'timestamp', 'pubdate', 'identifiers', 'languages', 'publisher', 'last_modified'))}
|
||||||
default_sort['formats'] = 999
|
default_sort['formats'] = 999
|
||||||
@ -73,7 +73,7 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
fields = field_list or sorted(filter(allowed_fields, mi), key=field_sorter(interface_data.field_metadata))
|
fields = field_list or sorted(filter(allowed_fields, mi), key=field_sorter(interface_data.field_metadata))
|
||||||
comments = []
|
comments = {}
|
||||||
|
|
||||||
def add_row(name, val, is_searchable=False, is_html=False, join=None):
|
def add_row(name, val, is_searchable=False, is_html=False, join=None):
|
||||||
def add_val(v):
|
def add_val(v):
|
||||||
@ -81,7 +81,7 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
v += ''
|
v += ''
|
||||||
if is_searchable:
|
if is_searchable:
|
||||||
table.lastChild.lastChild.appendChild(E.a(
|
table.lastChild.lastChild.appendChild(E.a(
|
||||||
data_search=JSON.stringify([name, v]), onclick=execute_search,
|
data_search=JSON.stringify([is_searchable, v]), onclick=execute_search,
|
||||||
title=str.format(_('Click to see books with {0}: {1}'), name, v), href='javascript: void(0)', v))
|
title=str.format(_('Click to see books with {0}: {1}'), name, v), href='javascript: void(0)', v))
|
||||||
else:
|
else:
|
||||||
if v.appendChild:
|
if v.appendChild:
|
||||||
@ -107,15 +107,15 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
return
|
return
|
||||||
if fm.is_multiple and fm.is_multiple.list_to_ui:
|
if fm.is_multiple and fm.is_multiple.list_to_ui:
|
||||||
all_vals = filter(None, map(str.strip, str.split(val, fm.is_multiple.list_to_ui)))
|
all_vals = filter(None, map(str.strip, str.split(val, fm.is_multiple.list_to_ui)))
|
||||||
add_row(name, all_vals, is_searchable=True, join=fm.is_multiple.list_to_ui)
|
add_row(name, all_vals, is_searchable=field, join=fm.is_multiple.list_to_ui)
|
||||||
else:
|
else:
|
||||||
add_row(name, val, is_searchable=True)
|
add_row(name, val, is_searchable=field)
|
||||||
|
|
||||||
def process_authors(field, fm, name, val):
|
def process_authors(field, fm, name, val):
|
||||||
add_row(name, val, is_searchable=True, join=' & ')
|
add_row(name, val, is_searchable=field, join=' & ')
|
||||||
|
|
||||||
def process_publisher(field, fm, name, val):
|
def process_publisher(field, fm, name, val):
|
||||||
add_row(name, val, is_searchable=True)
|
add_row(name, val, is_searchable=field)
|
||||||
|
|
||||||
def process_formats(field, fm, name, val):
|
def process_formats(field, fm, name, val):
|
||||||
table.appendChild(E.tr(E.td(name + ':'), E.td()))
|
table.appendChild(E.tr(E.td(name + ':'), E.td()))
|
||||||
@ -190,7 +190,7 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
ival = fmt_sidx(ival, use_roman=interface_data.use_roman_numerals_for_series_number)
|
ival = fmt_sidx(ival, use_roman=interface_data.use_roman_numerals_for_series_number)
|
||||||
table.appendChild(E.tr(E.td(name + ':'), E.td()))
|
table.appendChild(E.tr(E.td(name + ':'), E.td()))
|
||||||
table.lastChild.lastChild.appendChild(E.span(ival, _(' of '), E.a(
|
table.lastChild.lastChild.appendChild(E.span(ival, _(' of '), E.a(
|
||||||
data_search=JSON.stringify([name, val]), onclick=execute_search,
|
data_search=JSON.stringify([field, val]), onclick=execute_search,
|
||||||
title=str.format(_('Click to see books with {0}: {1}'), name, val), href='javascript: void(0)', val)))
|
title=str.format(_('Click to see books with {0}: {1}'), name, val), href='javascript: void(0)', val)))
|
||||||
|
|
||||||
def process_field(field, fm):
|
def process_field(field, fm):
|
||||||
@ -198,7 +198,7 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
datatype = fm.datatype
|
datatype = fm.datatype
|
||||||
val = mi[field]
|
val = mi[field]
|
||||||
if field == 'comments' or datatype == 'comments':
|
if field == 'comments' or datatype == 'comments':
|
||||||
comments.append(val)
|
comments[field] = val
|
||||||
return
|
return
|
||||||
func = None
|
func = None
|
||||||
if datatype == 'composite':
|
if datatype == 'composite':
|
||||||
@ -222,7 +222,9 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
if func:
|
if func:
|
||||||
func(field, fm, name, val)
|
func(field, fm, name, val)
|
||||||
else:
|
else:
|
||||||
pass
|
if datatype == 'text':
|
||||||
|
join = fm.is_multiple.list_to_ui if fm.is_multiple else None
|
||||||
|
add_row(name, val, join=join, is_searchable=field)
|
||||||
|
|
||||||
for field in fields:
|
for field in fields:
|
||||||
fm = interface_data.field_metadata[field]
|
fm = interface_data.field_metadata[field]
|
||||||
@ -234,7 +236,9 @@ def render_metadata(mi, interface_data, table, field_list=None):
|
|||||||
print('Failed to render metadata field: ' + field)
|
print('Failed to render metadata field: ' + field)
|
||||||
print(err.toString())
|
print(err.toString())
|
||||||
print(err.stack)
|
print(err.stack)
|
||||||
for i, comment in enumerate(comments):
|
|
||||||
|
for i, field in enumerate(sorted(comments)):
|
||||||
|
comment = comments[field]
|
||||||
div = E.div()
|
div = E.div()
|
||||||
div.innerHTML = comment
|
div.innerHTML = comment
|
||||||
table.parentNode.appendChild(div)
|
table.parentNode.appendChild(div)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user