Difference between revisions of "Radaar"
From Indie IT Wiki
Plittlefield (talk | contribs) |
Plittlefield (talk | contribs) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | Radarr is an independent fork of Sonarr reworked for automatic downloading. | + | Radarr is an independent fork of Sonarr reworked for automatic downloading of movies. |
https://radarr.video | https://radarr.video | ||
Line 12: | Line 12: | ||
[https://wiki.servarr.com/radarr/custom-scripts Custom Scripts] | [https://wiki.servarr.com/radarr/custom-scripts Custom Scripts] | ||
+ | |||
+ | == API == | ||
+ | |||
+ | === List Movies === | ||
+ | |||
+ | curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | ||
+ | |||
+ | curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | .path' | ||
+ | |||
+ | === Search Movie === | ||
+ | |||
+ | curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)")' | ||
+ | |||
+ | === Find ID of Movie === | ||
+ | |||
+ | curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)") | {Id: .id}' | ||
+ | |||
+ | curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)") | .id' | ||
+ | |||
+ | === Delete Movie === | ||
+ | |||
+ | curl -X "DELETE" "<nowiki>http://192.168.0.252:7878/api/v3/movie/886?deleteFiles=true&addImportExclusion=false</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | ||
+ | |||
+ | === Find and Delete Movie === | ||
+ | |||
+ | With no BASH variable ... | ||
+ | |||
+ | ID=$(curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: 9f4229b5056e4d24a2471dc49af8b77c" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)") | .id'); echo "${ID}"; curl -X "DELETE" "<nowiki>http://192.168.0.252:7878/api/v3/movie/${ID}?deleteFiles=true&addImportExclusion=false</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | ||
+ | |||
+ | With a BASH variable ... | ||
+ | |||
+ | MOVIEPATH="/data/media/movies/Movie Name (Year)"; ID=$(curl -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: 9f4229b5056e4d24a2471dc49af8b77c" | jq --arg MOVIEPATH "$MOVIEPATH" '.[] | select(.path==$MOVIEPATH) | .id'); echo "${ID}"; curl -X "DELETE" "<nowiki>http://192.168.0.252:7878/api/v3/movie/${ID}?deleteFiles=true&addImportExclusion=false</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | ||
+ | |||
+ | === Complete Script === | ||
+ | |||
+ | #!/bin/bash | ||
+ | # ./radarr_delete_movie.sh "Movie Name (Year)" | ||
+ | MOVIE="$1"; | ||
+ | echo "MOVIE=${MOVIE}"; | ||
+ | MOVIEPATH="/data/media/movies/$MOVIE"; | ||
+ | echo "MOVIEPATH=$MOVIEPATH"; | ||
+ | ID=$(curl -s -X "GET" "<nowiki>http://192.168.0.252:7878/api/v3/movie</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxx" | jq --arg MOVIEPATH "$MOVIEPATH" '.[] | select(.path==$MOVIEPATH) | .id'); | ||
+ | echo "ID=${ID}"; | ||
+ | sleep 10s; | ||
+ | curl -s -X "DELETE" "<nowiki>http://192.168.0.252:7878/api/v3/movie/${ID}?deleteFiles=true&addImportExclusion=false</nowiki>" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxx"; | ||
+ | exit; | ||
+ | |||
+ | === Use in Tdarr === | ||
+ | |||
+ | So, in theory, you should be able to use the variable <code>"{{{args.inputFileObj._id}}}"</code> in [[Tdarr]] to get the path and then right at the end of your flow, you call this command. Maybe :) | ||
[[Category:Multimedia]] | [[Category:Multimedia]] | ||
[[Category:Software]] | [[Category:Software]] |
Latest revision as of 16:53, 2 November 2024
Introduction
Radarr is an independent fork of Sonarr reworked for automatic downloading of movies.
Installation
https://github.com/Radarr/Radarr/wiki/Installation
Information
API
List Movies
curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx"
curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | .path'
Search Movie
curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)")'
Find ID of Movie
curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)") | {Id: .id}'
curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)") | .id'
Delete Movie
curl -X "DELETE" "http://192.168.0.252:7878/api/v3/movie/886?deleteFiles=true&addImportExclusion=false" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx"
Find and Delete Movie
With no BASH variable ...
ID=$(curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: 9f4229b5056e4d24a2471dc49af8b77c" | jq '.[] | select(.path=="/data/media/movies/Movie Name (Year)") | .id'); echo "${ID}"; curl -X "DELETE" "http://192.168.0.252:7878/api/v3/movie/${ID}?deleteFiles=true&addImportExclusion=false" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx"
With a BASH variable ...
MOVIEPATH="/data/media/movies/Movie Name (Year)"; ID=$(curl -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: 9f4229b5056e4d24a2471dc49af8b77c" | jq --arg MOVIEPATH "$MOVIEPATH" '.[] | select(.path==$MOVIEPATH) | .id'); echo "${ID}"; curl -X "DELETE" "http://192.168.0.252:7878/api/v3/movie/${ID}?deleteFiles=true&addImportExclusion=false" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxx"
Complete Script
#!/bin/bash # ./radarr_delete_movie.sh "Movie Name (Year)" MOVIE="$1"; echo "MOVIE=${MOVIE}"; MOVIEPATH="/data/media/movies/$MOVIE"; echo "MOVIEPATH=$MOVIEPATH"; ID=$(curl -s -X "GET" "http://192.168.0.252:7878/api/v3/movie" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxx" | jq --arg MOVIEPATH "$MOVIEPATH" '.[] | select(.path==$MOVIEPATH) | .id'); echo "ID=${ID}"; sleep 10s; curl -s -X "DELETE" "http://192.168.0.252:7878/api/v3/movie/${ID}?deleteFiles=true&addImportExclusion=false" -H "accept: application/json" -H "X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxx"; exit;
Use in Tdarr
So, in theory, you should be able to use the variable "{{{args.inputFileObj._id}}}"
in Tdarr to get the path and then right at the end of your flow, you call this command. Maybe :)