Another try at the special collection stuff

This commit is contained in:
Charles Haley 2010-12-22 18:11:11 +00:00
parent f78767db15
commit 2afb62c9f7
2 changed files with 20 additions and 10 deletions

View File

@ -58,9 +58,16 @@ class PRS505(USBMS):
SUPPORTS_USE_AUTHOR_SORT = True SUPPORTS_USE_AUTHOR_SORT = True
EBOOK_DIR_MAIN = 'database/media/books' EBOOK_DIR_MAIN = 'database/media/books'
ALL_BY_TITLE = _('All by title')
ALL_BY_AUTHOR = _('All by author')
EXTRA_CUSTOMIZATION_MESSAGE = _('Comma separated list of metadata fields ' EXTRA_CUSTOMIZATION_MESSAGE = _('Comma separated list of metadata fields '
'to turn into collections on the device. Possibilities include: ')+\ 'to turn into collections on the device. Possibilities include: ')+\
'series, tags, authors' 'series, tags, authors' +\
_('. Two special collections are available: %s:%s and %s:%s. Add '
'these values to the list to enable them. The collections will be '
'given the name provided after the ":" character.')%(
'abt', ALL_BY_TITLE, 'aba', ALL_BY_AUTHOR)
EXTRA_CUSTOMIZATION_DEFAULT = ', '.join(['series', 'tags']) EXTRA_CUSTOMIZATION_DEFAULT = ', '.join(['series', 'tags'])
plugboard = None plugboard = None
@ -151,7 +158,7 @@ class PRS505(USBMS):
blists[i] = booklists[i] blists[i] = booklists[i]
opts = self.settings() opts = self.settings()
if opts.extra_customization: if opts.extra_customization:
collections = [x.lower().strip() for x in collections = [x.strip() for x in
opts.extra_customization.split(',')] opts.extra_customization.split(',')]
else: else:
collections = [] collections = []

View File

@ -134,14 +134,17 @@ class CollectionsBookList(BookList):
collections = {} collections = {}
# get the special collection names # get the special collection names
try: all_by_author = ''
all_by_author = tweaks['device_special_collections']['author'] all_by_title = ''
except: ca = []
all_by_author = '' for c in collection_attributes:
try: if c.startswith('aba:') and c[4:]:
all_by_title = tweaks['device_special_collections']['title'] all_by_author = c[4:]
except: elif c.startswith('abt:') and c[4:]:
all_by_title = '' all_by_title = c[4:]
else:
ca.append(c.lower())
collection_attributes = ca
for book in self: for book in self:
tsval = book.get('_pb_title_sort', tsval = book.get('_pb_title_sort',