diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index cd0bfb2c48..fb35c69dfc 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -880,7 +880,7 @@ class BrowseServer(object): for name, id_typ, id_val, url in urls] links = u', '.join(links) if links: - fields.append((m['name'], u'%s: %s'%( + fields.append((field, m['name'], u'%s: %s'%( _('Ids'), links))) continue @@ -891,12 +891,15 @@ class BrowseServer(object): else: r = u'%s: '%xml(m['name']) + \ args[field] - fields.append((m['name'], r)) + fields.append((field, m['name'], r)) - fields.sort(key=lambda x: sort_key(x[0])) + def fsort(x): + num = {'authors':0, 'series':1, 'tags':2}.get(x[0], 100) + return (num, sort_key(x[-1])) + fields.sort(key=fsort) if add_title: - fields.insert(0, ('Title', u'%s: %s' % (xml(_('Title')), xml(mi.title)))) - fields = [u'
{0}
'.format(f[1]) for f in + fields.insert(0, ('title', 'Title', u'%s: %s' % (xml(_('Title')), xml(mi.title)))) + fields = [u'
{0}
'.format(f[-1]) for f in fields] fields = u'
%s
'%('\n\n'.join(fields))