mygpoclient-rs

Rust client library for gpodder.net
Supported features
- [ ] [Authentication](https://gpoddernet.readthedocs.io/en/latest/api/reference/auth.html)
- [x] [Directory](https://gpoddernet.readthedocs.io/en/latest/api/reference/directory.html)
- [x] [Suggestions](https://gpoddernet.readthedocs.io/en/latest/api/reference/suggestions.html)
- [x] [Device](https://gpoddernet.readthedocs.io/en/latest/api/reference/devices.html)
- [x] [Subscriptions](https://gpoddernet.readthedocs.io/en/latest/api/reference/subscriptions.html)
- [x] [Episode Actions](https://gpoddernet.readthedocs.io/en/latest/api/reference/events.html)
- [ ] [Podcast Lists](https://gpoddernet.readthedocs.io/en/latest/api/reference/podcastlists.html)
- [x] [Settings](https://gpoddernet.readthedocs.io/en/latest/api/reference/settings.html)
- [ ] [Favorites](https://gpoddernet.readthedocs.io/en/latest/api/reference/favorites.html)
- [ ] [Device Synchronization](https://gpoddernet.readthedocs.io/en/latest/api/reference/sync.html)
- [ ] [Client Parametrization](https://gpoddernet.readthedocs.io/en/latest/api/reference/clientconfig.html)
Building
- Clone this repository
- Run
cargo build
Testing
- Run
cp set-credentials.sh _set-credentials.sh
- Enter valid gpodder.net credentials in
_set-credentials.sh
- Run
source ./_set-credentials.sh
- Run
cargo test -- --test-threads=1
The tests have to run consecutively because they share state on the gpodder.net server.
Install git hooks
- commit-msg: Run
ln -s ../../commit-msg.sh .git/hooks/commit-msg && chmod +x commit-msg.sh
- pre-commit: Run
ln -s ../../pre-commit.sh .git/hooks/pre-commit && chmod +x pre-commit.sh