View Single Post
Old 03-16-2022, 10:34 PM   #21
allanahk
Connoisseur
allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.allanahk ought to be getting tired of karma fortunes by now.
 
allanahk's Avatar
 
Posts: 71
Karma: 2202292
Join Date: Nov 2018
Device: Kobo Libra 2
I have quite a few custom columns. My most used ones are:

Genre: broad genre (scifi, mystery, fantasy, thriller etc) - I have about 20 of these and leave the Tags column to the metadata downloader and other more specific tags

Word count: from Count Pages plugin

Read status: 4 options - read, partially read, abandoned and unread

Goodreads reviews: number of reviews on Goodreads, useful for getting an idea of how famous a book is. I used the method described here: https://usman.io/goodreads-decimal-ratings-in-calibre/, i.e. edit the Goodreads metadata plugin to import goodreads reviews into the publisher column (I never care about the publisher anyway...)

Popularity: column based on number of GR reviews as follows:

Code:
program:

# returns the "fame" of a book based on number of goodreads reviews

if raw_field('#gr_review') ># 500000 then
'V. Famous'
elif raw_field('#gr_review') ># 100000 then
'Famous'
elif raw_field('#gr_review') ># 50000 then
'Well Known'
elif raw_field('#gr_review') ># 10000 then
'Known'
elif raw_field('#gr_review') ># 1000 then
'Rel. Unknown'
else
'Unknown'
fi
Reading time: a rough guess at how long the book will take to read, based on min/max reading speed. I think I found the program template on mobilereads somewhere:

Code:
program:

# This program calculate a reading time per hour for an ebook

# Adjustments:
# w_min -> minimum words per minute
# w_max -> maximum words per minute
w_min = 250;
w_max = 400;

# readingtime per hour = 60
p_time = 60;

# Needs a custom column for word count (#words)
# change it to your field name
words = raw_field ('#words');

time1 = format_number (divide (words, multiply (w_max, p_time)), '{0: .1f}');
time2 = format_number (divide (words, multiply (w_min, p_time)), '{0: .1f}');

rt1_hour = re (time1, '\. \ d *', '');
rt2_hour = re (time2, '\. \ d *', '');

readingtime = strcat (rt1_hour, 'h -', rt2_hour, 'h');
Some other handy yes/no columns: #on_kindle, #need_to_edit, #replace_on_kindle
allanahk is offline   Reply With Quote