|
|
|
# XPUB Library
|
|
|
|
Library running on Flask and SQLight (maybe to be replaced with a python shelve)
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
Install the required dependencies:
|
|
|
|
|
|
|
|
$ pip3 install -r requirements.txt
|
|
|
|
|
|
|
|
|
|
|
|
Initialise database
|
|
|
|
|
|
|
|
$ bash init_db.sh
|
|
|
|
|
|
|
|
|
|
|
|
### Install rqlite
|
|
|
|
|
|
|
|
#### Linux
|
|
|
|
To download and start rqlite on Linux, execute the following in a shell.
|
|
|
|
|
|
|
|
curl -L https://github.com/rqlite/rqlite/releases/download/v4.3.0/rqlite-v4.3.0-linux-amd64.tar.gz -o rqlite-v4.3.0-linux-amd64.tar.gz
|
|
|
|
tar xvfz rqlite-v4.3.0-linux-amd64.tar.gz
|
|
|
|
cd rqlite-v4.3.0-linux-amd64
|
|
|
|
./rqlited ~/node.1
|
|
|
|
|
|
|
|
|
|
|
|
#### OSX
|
|
|
|
To download and start rqlite on OSX, execute the following in a shell.
|
|
|
|
|
|
|
|
curl -L https://github.com/rqlite/rqlite/releases/download/v4.3.0/rqlite-v4.3.0-darwin-amd64.tar.gz -o rqlite-v4.3.0-darwin-amd64.tar.gz
|
|
|
|
tar xvfz rqlite-v4.3.0-darwin-amd64.tar.gz
|
|
|
|
cd rqlite-v4.3.0-darwin-amd64
|
|
|
|
./rqlited ~/node.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Further install notes (bugs)
|
|
|
|
|
|
|
|
* create the covers folder inside the uploadsfolder
|
|
|
|
* don't forget to chmod the uploads and coverfolder ;-)
|
|
|
|
|
|
|
|
* For Mac users -> brew install imagemagick@6 in order to install wand
|
|
|
|
|
|
|
|
For those on mac and using homebrew, it seems like Wand doesn't support imagemagick 7 yet as mentioned in other answers.
|
|
|
|
There's a new brew formula for Imagemagick 6 which can be used to install the older version in the meanwhile:
|
|
|
|
`brew install imagemagick@6`
|
|
|
|
|
|
|
|
Create a symlink to this newly installed dylib file as mentioned in other answer to get things working.
|
|
|
|
|
|
|
|
ln -s /usr/local/Cellar/imagemagick@6/<your specific 6 version>/lib/libMagickWand-6.Q16.dylib /usr/local/lib/libMagickWand.dylib
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Run the program
|
|
|
|
|
|
|
|
Initialize rqlite database on one terminal (from rqlite install directory)
|
|
|
|
|
|
|
|
$ ./rqlited ~.node
|
|
|
|
|
|
|
|
Run the script in another terminal (from XPPL directory):
|
|
|
|
|
|
|
|
python3 run.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## API
|
|
|
|
|
|
|
|
Has currently 2 entrypoints:
|
|
|
|
|
|
|
|
`/api/books`
|
|
|
|
GETs all the books in the database
|
|
|
|
|
|
|
|
`/api/book/id`
|
|
|
|
GETs a specific book by its id
|
|
|
|
|