j d28dda73ae | ||
---|---|---|
bin | ||
debian | ||
pandora_client | ||
README.md | ||
config.example.json | ||
config.plugin_example.py | ||
setup.py |
README.md
pandora_client - python client and libary to access a pan.do/ra instances
Documentation at: https://code.0x2620.org/0x2620/pandora_client/wiki
Installation
Linux
-
install dependencies
sudo apt install python3 python3-pip ffmpeg
-
install pandora_client
sudo pip3 install pandora_client
macOS
-
install brew (https://brew.sh/)
-
install dependencies
brew install python3 brew install libvpx libvorbis brew install ffmpeg --with-libvpx --with-libvorbis --with-libopus
-
install pandora_client
pip3 install pandora_client
pandora client example:
import pandora_client #example config.json ''' { "url": "http://localhost:8000/api/", "username": "username", "password": "password", "cache": "~/.ox/client.sqlite", "media-cache": "~/.ox/media", "volumes": { "volumename": "/media/2010/Movies" } } ''' c = pandora_client.Client('config.json') c.scan() #scans all volumes for files and updates cache db c.sync() #syncs cached file info with site, and encodes and uploads requested media c.clean() #cleanup transcodes created druing sync to save disk space
just using the API:
api = pandora_client.API("http://localhost:8000/api/")
r = api.find(
query={'conditions':[]},
keys=['title', 'year'],
range=[0, 100]
)
for i in r['data']['items']:
...
api documentation is available as python docstrings. i.e. in ipython: api.find? (alternatively you can open the api url in a browser to read further documentation)
Distributed encoding
pandora_client can distribute the encoding to multiple nodes on a local network or multiple encodings on the same host.
to do this you need to install additional dependencies: apt-get install python3-twisted python3-requests
now run one node in server mode:
pandora_client server
and start the other nodes with:
pandora_client client http://SERVER_IP:8789