mirror of
git://github.com/kovidgoyal/calibre.git
synced 2025-12-23 22:25:13 +01:00
Fix #2273 (Little bug in Calibra Server)
This commit is contained in:
parent
d8ed8c0c07
commit
ead9de4002
2 changed files with 79 additions and 66 deletions
|
|
@ -163,7 +163,7 @@ def __init__(self, stream):
|
|||
|
||||
if self.num_sections >= 2:
|
||||
header = self.header()
|
||||
BookHeader.__init__(self, header, self.ident, None)
|
||||
BookHeader.__init__(self, header, self.ident)
|
||||
else:
|
||||
self.exth = None
|
||||
|
||||
|
|
|
|||
|
|
@ -243,10 +243,23 @@ def sort(self, items, field, order):
|
|||
raise cherrypy.HTTPError(400, '%s is not a valid sort field'%field)
|
||||
cmpf = cmp if field in ('rating', 'size', 'timestamp') else \
|
||||
lambda x, y: cmp(x.lower() if x else '', y.lower() if y else '')
|
||||
if field == 'series':
|
||||
items.sort(cmp=self.seriescmp, reverse=not order)
|
||||
else:
|
||||
field = FIELD_MAP[field]
|
||||
getter = operator.itemgetter(field)
|
||||
items.sort(cmp=lambda x, y: cmpf(getter(x), getter(y)), reverse=not order)
|
||||
|
||||
def seriescmp(self, x, y):
|
||||
si = FIELD_MAP['series']
|
||||
try:
|
||||
ans = cmp(x[si].lower(), y[si].lower())
|
||||
except AttributeError: # Some entries may be None
|
||||
ans = cmp(x[si], y[si])
|
||||
if ans != 0: return ans
|
||||
return cmp(x[FIELD_MAP['series_index']], y[FIELD_MAP['series_index']])
|
||||
|
||||
|
||||
def last_modified(self, updated):
|
||||
lm = updated.strftime('day, %d month %Y %H:%M:%S GMT')
|
||||
day ={0:'Sun', 1:'Mon', 2:'Tue', 3:'Wed', 4:'Thu', 5:'Fri', 6:'Sat'}
|
||||
|
|
|
|||
Loading…
Reference in a new issue