BookKit contains helper routines for dealing with common book-related services. It will help you:
- Issue a query to Google Books and parse the result. (Note: You must have your own Google Books API key for this.)
- Download cover images from OpenLibrary
- Parse the JSON files from LibraryThing
- Load a CSV file from Goodreads
Book
is the core abstration of a "book" made available from any of the common book-tracking sites / services. The properties onBook
are meant to be about the book itself, as opposed to the relationship between the book and a person (like when the book was added to a library, or how a reader rates the book).AugmentedBook
extendsBook
to add the metadata that are personal to a particular person, like review/rating.AugmentedBook+CSV.swift
contains utilities for loadingAugmentedBook
structs from CSV files saved from Goodreads.LibraryThing
contains utilities for loadingAugmentedBook
structs from a JSON file saved from LibraryThing.GoogleBooks
contains utilities for searching for books from Google Books.OpenLibrary
contains utilities for downloading book covers from Open Library.
- When parsing LibraryThing JSON, "date" is now truly optional.
- Add an async
OpenLibrary.coverImage
method
- Persist Google "categories" & LibraryThing "genres" as tags on the Book.
Bugfix: Calling ReadingHistory.finishReading()
now sets hasRead
to true
Added ReadingHistory
Initial version.