Updated README and fixed a TMDB parsing bug for movie details
@@ -1,2 +1,103 @@
|
|||||||
# managarr
|
# managarr - A TUI to manage your Servarrs
|
||||||
A Servarr management TUI.
|
Managarr is a TUI to help you manage your HTPC (Home Theater PC).
|
||||||
|
|
||||||
|
## What Servarrs are supported?
|
||||||
|
|
||||||
|
##  [Radarr](https://wiki.servarr.com/radarr)
|
||||||
|
##  [Sonarr](https://wiki.servarr.com/en/sonarr)
|
||||||
|
##  [Readarr](https://wiki.servarr.com/en/readarr)
|
||||||
|
##  [Lidarr](https://wiki.servarr.com/en/lidarr)
|
||||||
|
##  [Prowlarr](https://wiki.servarr.com/en/prowlarr)
|
||||||
|
##  [Whisparr](https://wiki.servarr.com/whisparr)
|
||||||
|
##  [Bazarr](https://www.bazarr.media/)
|
||||||
|
##  [Overseerr](https://docs.overseerr.dev/)
|
||||||
|
##  [Tautulli](https://tautulli.com/)
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
Managarr assumes reasonable defaults to connect to each service (i.e. Radarr is on localhost:7878),
|
||||||
|
but all servers will require you to input the API token.
|
||||||
|
|
||||||
|
The configuration file is located somewhere different for each OS
|
||||||
|
### Linux
|
||||||
|
```
|
||||||
|
$HOME/.config/managarr/config.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mac
|
||||||
|
```
|
||||||
|
$HOME/Library/Application Support/managarr/config.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
```
|
||||||
|
%APPDATA%/Roaming/managarr/config.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example Configuration:
|
||||||
|
```yaml
|
||||||
|
radarr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 7878
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
sonarr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 8989
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
readarr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 8787
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
lidarr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 8686
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
whisparr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6969
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
bazarr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6767
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
prowlarr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 9696
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
overseerr:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 5055
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
tautulli:
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 8181
|
||||||
|
api_token: someApiToken1234567890
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### Radarr
|
||||||
|
|
||||||
|
- View your library, downloads, collections, or calendar
|
||||||
|
- Search your library for specific movies
|
||||||
|
- View details of a specific movie including description, history, downloaded file info, or the credits
|
||||||
|
- View details of any collection and the movies in them
|
||||||
|
- Add movies to Radarr
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
- [tui-rs](https://github.com/fdehau/tui-rs)
|
||||||
|
- [crossterm](https://github.com/crossterm-rs/crossterm)
|
||||||
|
- [clap](https://github.com/clap-rs/clap)
|
||||||
|
- [tokio](https://github.com/tokio-rs/tokio)
|
||||||
|
- [serde](https://github.com/serde-rs/serde)
|
||||||
|
- [reqwest](https://github.com/seanmonstar/reqwest)
|
||||||
|
|
||||||
|
## Servarr Requirements
|
||||||
|
* [Radarr v3](https://radarr.video/docs/api/)
|
||||||
|
* [Sonarr v3](https://sonarr.tv/docs/api/)
|
||||||
|
* [Readarr v1](https://readarr.com/docs/api/)
|
||||||
|
* [Lidarr v1](https://lidarr.audio/docs/api/)
|
||||||
|
* [Whisparr v3](https://whisparr.com/docs/api/)
|
||||||
|
* [Prowlarr v1](https://prowlarr.com/docs/api/)
|
||||||
|
* [Bazarr v1.1.4](http://localhost:6767/api)
|
||||||
|
* [Overseerr v1](https://api-docs.overseerr.dev/)
|
||||||
|
* [Tautulli v2](https://github.com/Tautulli/Tautulli/wiki/Tautulli-API-Reference)
|
||||||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 16 KiB |
@@ -131,16 +131,13 @@ pub enum ActiveRadarrBlock {
|
|||||||
CollectionDetails,
|
CollectionDetails,
|
||||||
Cast,
|
Cast,
|
||||||
Crew,
|
Crew,
|
||||||
Events,
|
|
||||||
FileInfo,
|
FileInfo,
|
||||||
Logs,
|
|
||||||
Movies,
|
Movies,
|
||||||
MovieDetails,
|
MovieDetails,
|
||||||
MovieHistory,
|
MovieHistory,
|
||||||
Downloads,
|
Downloads,
|
||||||
SearchMovie,
|
SearchMovie,
|
||||||
SortOptions,
|
SortOptions,
|
||||||
Tasks,
|
|
||||||
ViewMovieOverview,
|
ViewMovieOverview,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,13 @@ pub mod radarr_models;
|
|||||||
pub enum Route {
|
pub enum Route {
|
||||||
Radarr(ActiveRadarrBlock),
|
Radarr(ActiveRadarrBlock),
|
||||||
Sonarr,
|
Sonarr,
|
||||||
|
Readarr,
|
||||||
|
Lidarr,
|
||||||
|
Whisparr,
|
||||||
|
Bazarr,
|
||||||
|
Prowlarr,
|
||||||
|
Overseerr,
|
||||||
|
Tautulli,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Scrollable {
|
pub trait Scrollable {
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ impl<'a> Network<'a> {
|
|||||||
|
|
||||||
let tmdb_rating = if let Some(rating) = ratings.tmdb {
|
let tmdb_rating = if let Some(rating) = ratings.tmdb {
|
||||||
if let Some(value) = rating.value.as_f64() {
|
if let Some(value) = rating.value.as_f64() {
|
||||||
format!("{}%", value * 10f64)
|
format!("{}%", (value * 10f64).ceil())
|
||||||
} else {
|
} else {
|
||||||
"".to_owned()
|
"".to_owned()
|
||||||
}
|
}
|
||||||
|
|||||||