View Single Post
Old 12-11-2010, 09:54 PM   #6
mornington
Connoisseur
mornington will become famous soon enoughmornington will become famous soon enoughmornington will become famous soon enoughmornington will become famous soon enoughmornington will become famous soon enoughmornington will become famous soon enoughmornington will become famous soon enough
 
Posts: 63
Karma: 732
Join Date: Nov 2010
Device: Sony PRS-650
Quote:
Originally Posted by Gary_M_Mugford View Post
Mornington,

A few questions before I really dive into your script, if I may. [1] I have about 200-300 books on my Kindle3, while calibre has considerably more. Does the script know to ONLY handle books "On the Device"?
It works only with the metadata which calibre sends to the kindle, not with the main calibre database, so it can only "see" what's actually on the kindle.

Quote:
Originally Posted by Gary_M_Mugford View Post
[2] I have a very limited number of tags, rarely more than one tag per book. AND my biggest chunk of books are tagless, each being assumed to be Science Fiction. Does that 'management' style prevent your script from being useful?
The script can create collections based on tags, series and/or authors. Personally, I used maybe a dozen tags, most books having just one or two tags (usually, just a genre and maybe "Anthology" or "Short Story") and create collections based just on author and tags.

Simplest way to see would be to run the script on your Kindle and see what collections it comes up with, then maybe tweak your tags/series in calibre accordingly.

Tip: In the script, find this bit of code:

def saveCollections():
cf = open(COLLECTIONS,'wb')
json.dump(kindleC,cf)
cf.close()

and change it to:

def saveCollections():
# cf = open(COLLECTIONS,'wb')
# json.dump(kindleC,cf)
# cf.close()

(i.e., add a # symbol at the front of the first three lines below "def saveCollections")

If you do the above then you can run your script and it will output a list of collections (and their contents) which it *would have* created based on your current settings and metadata but it won't actually make any changes to the collections on your kindle. Once you're ready to make changes, just remove those three # symbols and re-run the script.

Quote:
Originally Posted by Gary_M_Mugford View Post
[3] Would it be possible to allow me to choose WHICH column the collections would be extracted from? i.e. I could create a column called CollSets and populate it with my collection sub-sets.
I did consider this at one point myself. It's doable, but I ended up just going with the tags as it seemed simpler to manage.

Quote:
Originally Posted by Gary_M_Mugford View Post
[4] Along the same vein, there already exists in my collection, a column that I call Anticipation, which I fill with 0-9. A book I want to read, and read today, ranks a 0. Books I will eventually get around to when nothing else is available, ranks a 9. I would certainly be interested in the ability to create a collection based on Anticipation.

You can always write the code. If you have a look at the calibre metadata file on your kindle (open it in a text editor) you'll see it's in json format and contains more metadata than this script currently uses. Including custom columns. So the metadata's accessible, you's just need to read and process it in the loadCalibre function in the script.
mornington is offline   Reply With Quote