View Single Post
Old 03-24-2023, 01:55 PM   #3
capink
Wizard
capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.capink ought to be getting tired of karma fortunes by now.
 
Posts: 1,185
Karma: 1988646
Join Date: Aug 2015
Device: Kindle
A better approach IMO is using the reading list plugin for multiple series. Since reading lists are ordered they are suitable for storing series information. The only thing missing (for me) is the ability to search by series name, which I get around by using the template search feature using the following python template:

Code:
python:
from calibre_plugins.reading_list.config import get_list_names, get_book_list

def evaluate(book, context):
    book_id = book.id
    db = context.db
    book_lists = []
    list_names = get_list_names(db)
    for list_name in list_names:
        book_ids = get_book_list(db, list_name)
        if book_id in book_ids:
            book_lists.append(list_name)
    return ','.join(book_lists)
The template above returns a comma separated list of all reading lists a book belongs to. It can also be used for storing the series in a composite column, although I never tried this so cannot know how good it is performance wise.
capink is offline   Reply With Quote