View Single Post
Old 07-19-2024, 11:12 AM   #1
foosion
Evangelist
foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.foosion is an enigma wrapped up in a mystery.
 
Posts: 479
Karma: 41524
Join Date: Sep 2011
Device: Kobo Libra 2 & Clara BW
Reading Calibre DB

I'd like to read the Calibre DB from a python program.

I can get a list of my books with:

Code:
import sqlite3

fname = "c:/Calibre Library/metadata.db"
con = sqlite3.connect(fname)
cur = con.cursor()

cur.execute("SELECT * from books")
for item in cur.fetchall():
    print(item)

con.close()
How do I access a custom field? I've created the field "read" which is the date I finished reading the book (or blank)?

Here's a typical output from the above:

(3025, 'A Short History of the Italian Renaissance', 'Short History of the Italian Renaissance, A', '2024-07-06 20:20:52.809814+00:00', '2015-07-15 04:00:00+00:00', 1.0, 'Bartlett, Kenneth R.', '', '', 'Kenneth R.
Bartlett/A Short History of the Italian Rena (3025)', 1, '1e6fc84c-3ab1-459b-810f-543895ac556c', 1, '2024-07-17 01:30:42.096682+00:00')

This seems to be: index, title, title_sort, date_imported, date_published, author_sort, ???, path, ???, date_???

I'd guess this is documented somewhere obvious, but my search skills are failing to find the specific location.
foosion is offline   Reply With Quote