Readarr Tips and Tricks

From Servarr
Revision as of 02:40, 24 December 2020 by Bakerboy448 (talk | contribs) (add warning)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Custom Post Processing Scripts

WARNING
Readarr this page is not yet complete.

You have been WARNED!


If you’re looking to trigger a custom script in your download client to tell Readarr when to update, you can find more details here. Scripts are added to Readarr via the Connect Settings page.

Overview

Readarr can execute a custom script when new movies are imported or a movie is renamed and depending on which action occurred, the parameters will be different. They are passed to the script through environment variables which allows for more flexibility in what is sent to the script and in no particular order.

Environment Variables

On Grab
Environment Variable Details
readarr_eventtype Grab
readarr_download_client NZB/Torrent downloader client
readarr_download_id The hash of the torrent/NZB file downloaded (used to uniquely identify the download in the download client)
readarr_movie_id Internal ID of the movie
readarr_movie_imdbid IMDb ID for the movie
readarr_movie_in_cinemas_date Cinema release date
readarr_movie_physical_release_date Physical release date
readarr_movie_title Title of the movie
readarr_movie_tmdbid TMDb ID for the movie
readarr_movie_year Release year of the movie
readarr_release_indexer Indexer where the release was grabbed
readarr_release_quality Quality name from Readarr
readarr_release_qualityversion 1 is the default, 2 for proper, 3+ could be used for anime versions
readarr_release_releasegroup Release Group, will not be set if it is unknown
readarr_release_size Size of the release reported by the indexer
readarr_release_title NZB/Torrent title
On Download/On Upgrade
Environment Variable Details
readarr_eventtype Download
readarr_download_id The hash of the torrent/NZB file downloaded (used to uniquely identify the download in the download client)
readarr_isupgrade True when an existing file is upgraded, otherwise False
readarr_movie_id Internal ID of the movie
readarr_movie_imdbid IMDb ID for the movie
readarr_movie_in_cinemas_date Cinema release date
readarr_movie_physical_release_date Physical release date
readarr_movie_path Full path to the movie ( /Movie (Year)/ )
readarr_movie_title Title of the movie
readarr_movie_tmdbid TMDb ID for the movie
readarr_movie_year Release year of the movie
readarr_moviefile_id Internal ID of the movie file
readarr_moviefile_relativepath Path to the movie file relative to the movie’ path
readarr_moviefile_path Full path to the movie file ( /Movie (Year)/Movie (Year).mkv )
readarr_moviefile_quality Quality name from Readarr
readarr_moviefile_qualityversion 1 is the default, 2 for proper, 3+ could be used for anime versions
readarr_moviefile_releasegroup Release group, will not be set if it is unknown
readarr_moviefile_scenename Original release name
readarr_moviefile_sourcepath Full path to the movie file that was imported
readarr_moviefile_sourcefolder Full path to the folder the movie file was imported from
On Rename
Environment Variable Details
readarr_eventtype Rename
readarr_movie_id Internal ID of the movie
readarr_movie_imdbid IMDb ID for the movie
readarr_movie_in_cinemas_date Cinema release date
readarr_movie_path Full path to the movie
readarr_movie_physical_release_date Physical release date
readarr_movie_title Title of the movie
readarr_movie_tmdbid TMDb ID for the movie
readarr_movie_year Release year of the movie

Specific usage tips

LINUX / UNIX Scripts

Remember to always add a shebang and make your scripts executable with chmod.

PHP

The information from Readarr will not be added to <math display="inline">_ENV as one might expect but should be included in the [</math>_SERVER variable](https://secure.php.net/manual/en/reserved.variables.server.php). A sample script to use this information to convert a file can be found here. #### PowerShell #### Sample script using the Readarr environment variables to create EDL files for all episodes is here.

Sample script to have Plex scan destination folder only and “analyze deeply” the file. PSQLite needed to query the plex DB. Adjust folder locations to match your setup.

This script will add the movie to plex and scan the destination folder (it will not scan the entire library)

Reverse Symlinking

When using private trackers, it is imperative to continue seeding. By using this script on Download and on Upgrade moves the media to your root movie folder as set in Readarr, and will create a symlink in the original download location so you can continue to seed.

Symlinking is preferable over hardlinking in some cases as the root movie folder can be on a seperate drive or nfs mount, where hardlinks are impossible.

A quick way to test scripts is to create a testing environment using the movie “Test (2013)”.

mkdir -p ~/test && cd ~/test && touch "Test (2013).nfo" "Test (2013).por.srt" "Test (2013).por.forced.srt" "Test (2013).eng.srt" "Test (2013).mkv" && cp -R ~/test /path/to/folder/to/import

or in bash:

mkdir -p ~/test && cd ~/test && touch "Test (2013)."{nfo,por.srt,por.forced.srt,eng.srt,mkv} && cp -R ~/test /path/to/folder/to/import

This way you can manually import this movie and trigger the script. You can just run it again to repopulate the files.