Content server: Fix errors when library contains enough virtual libraries to cause grouping. Fixes #1446282 [virtual libraries fail on web access](https://bugs.launchpad.net/calibre/+bug/1446282)

This commit is contained in:
Kovid Goyal 2015-04-21 08:52:59 +05:30
parent 6121c05446
commit 2be2fb844d

View File

@ -507,7 +507,7 @@ class BrowseServer(object):
items = get_category_items(category, items,
datatype, self.opts.url_prefix)
else:
getter = lambda x: unicode(getattr(x, 'sort', x.name))
getter = lambda x: unicode(getattr(x, 'sort', None) or x.name)
starts = set([])
for x in items:
val = getter(x)
@ -571,7 +571,10 @@ class BrowseServer(object):
raise cherrypy.HTTPError(404, 'category not found')
category_meta = self.db.field_metadata
try:
datatype = category_meta[category]['datatype']
except KeyError:
datatype = 'text'
try:
group = unhexlify(group)
@ -582,7 +585,7 @@ class BrowseServer(object):
items = categories[category]
entries = []
getter = lambda x: unicode(getattr(x, 'sort', x.name))
getter = lambda x: unicode(getattr(x, 'sort', None) or x.name)
for x in items:
val = getter(x)
if not val: