books/README.md

45 lines
1.6 KiB
Markdown

# Books
This is a catalog of all the books in my calibre library!
If you see a title here you would like to borrow, let me know! I'd be happy to share :)
## How To (For me)
- go to calibre and "convert books" -> "create a catalog...."
- save it to the dir
- `j all`
## How To (For you)
If you want to browse the collection, I would look at `books.rec`.
If you're going to really explore this dataset, I recommend using the awesome csvkit.
=> <https://csvkit.readthedocs.io/en/latest/index.html>
It will allow you to do stuff like:
- see the headers: `csvcut -n books.csv`
- and the see just the columns you want: `csvcut -c 13,4 books.csv`
- look at some stats: `csvcut -c languages,size,formats books.csv | csvstat`
- find the largest pdfs in the collection: `csvcut -c title_sort,formats,size books.csv | csvgrep -c formats -m pdf | csvsort -c size -r | head`
- `csvjson books.csv | jq | whatever`
- show the most recently added books: `csvcut -c 13,1,3 books.csv | csvsort -c timestamp -r | head -n 20`
- You can also perform actual SQL queries on it, and convert the data between csv and sqlite database: <https://csvkit.readthedocs.io/en/latest/tutorial/3_power_tools.html>
## RSS feed
An RSS feed has been kindly provided by [the Rsszard of Syndication](https://tilde.town/~lucidiot)
and is available at https://git.tilde.town/dozens/books/raw/branch/main/feed.xml
Generating the feed requires you to have Python 3.7 or later installed, as well
as the [xmltodict](https://pypi.org/project/xmltodict) package:
`pip3 install xmltodict`.
To generate the feed, run `./geenfeed.py <books.csv >lefeed.xml`.
## TODO
- type definitions for Book