From 8b85e25020e5d4426df9e2ad16f231805bb1301d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 14 Sep 2012 14:35:45 +0530 Subject: [PATCH] Make author sorting on the device case insensitive --- src/calibre/devices/kobo/books.py | 2 ++ src/calibre/gui2/library/models.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/calibre/devices/kobo/books.py b/src/calibre/devices/kobo/books.py index 48033b3522..32bf9a9828 100644 --- a/src/calibre/devices/kobo/books.py +++ b/src/calibre/devices/kobo/books.py @@ -8,6 +8,7 @@ import time from calibre.utils.date import parse_date from calibre.devices.usbms.books import Book as Book_ +from calibre.ebooks.metadata import author_to_author_sort class Book(Book_): @@ -20,6 +21,7 @@ class Book(Book_): self.authors = [''] else: self.authors = [authors] + self.author_sort = author_to_author_sort(self.authors[0]) if not title: self.title = _('Unknown') diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index f0296a32c7..246b0835a5 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -1193,7 +1193,10 @@ class DeviceBooksModel(BooksModel): # {{{ ax = authors_to_string(self.db[x].authors) except: ax = '' - return ax + try: + return sort_key(ax) + except: + return ax keygen = { 'title': ('title_sorter', lambda x: sort_key(x) if x else ''),