Radaar

From Indie IT Wiki
Revision as of 16:53, 2 November 2024 by Plittlefield (talk | contribs) (→‎API)

Introduction

Radarr is an independent fork of Sonarr reworked for automatic downloading of movies.

https://radarr.video

Installation

https://github.com/Radarr/Radarr/wiki/Installation

Information

Custom Scripts

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 :)