diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index 03608847f9..cd5a7c0ffa 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -22,6 +22,7 @@ from calibre.library.comments import comments_to_html from calibre.library.server import custom_fields_to_display from calibre.library.field_metadata import category_icon_map from calibre.library.server.utils import quote, unquote +from calibre.ebooks.metadata.sources.identify import urls_from_identifiers def xml(*args, **kwargs): ans = prepare_string_for_xml(*args, **kwargs) @@ -823,6 +824,16 @@ class BrowseServer(object): if field in ('title', 'formats') or not args.get(field, False) \ or not m['name']: continue + if field == 'identifiers': + urls = urls_from_identifiers(mi.get(field, {})) + links = [u'%s' % (url, id_typ, id_val, name) + for name, id_typ, id_val, url in urls] + links = u', '.join(links) + if links: + fields.append((m['name'], u'%s: %s'%( + _('Ids'), links))) + continue + if m['datatype'] == 'rating': r = u'%s: '%xml(m['name']) + \ render_rating(mi.get(field)/2.0, self.opts.url_prefix,