Automatically sync TRaSH guides to your Sonarr and Radarr instances
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Robert Dailey b1abb2ca85
feat: allow optional terms to be synced
4 years ago
.github/workflows ci: Discord notification workflow for releases 4 years ago
.idea Complete rewrite using C# .NET Core 5 4 years ago
azure-pipelines Complete rewrite using C# .NET Core 5 4 years ago
ci/notify ci: Discord notification workflow for releases 4 years ago
src feat: allow optional terms to be synced 4 years ago
wiki feat: allow optional terms to be synced 4 years ago
.gitattributes Initial Commit 4 years ago
.gitignore Complete rewrite using C# .NET Core 5 4 years ago
.markdownlint.json Complete rewrite using C# .NET Core 5 4 years ago
CHANGELOG.md feat: allow optional terms to be synced 4 years ago
LICENSE Complete rewrite using C# .NET Core 5 4 years ago
Prepare-Release.ps1 chore: Powershell script to prepare releases 4 years ago
README.md docs(readme): Incorrect option for create-config 4 years ago
version.json release: v1.2.0 4 years ago

README.md

TRaSH Guide Updater

Automatically mirror TRaSH guides to your Sonarr/Radarr instance.

NOTICE: This program is a work-in-progress!

Features

Features list will continue to grow. See the limitations & roadmap section for more details!

Sonarr

Release Profiles

  • "Preferred", "Must Not Contain", and "Must Contain" terms from guides are reflected in corresponding release profile fields in Sonarr.
  • "Include Preferred when Renaming" is properly checked/unchecked depending on explicit mention of this in the guides.
  • Profiles get created if they do not exist, or updated if they already exist. Profiles get a unique name based on the guide and this name is used to find them in subsequent runs.
  • Tags can be added to any updated or created profiles.
  • Ability to convert preferred with negative scores to "Must not contain" terms.
  • Terms mentioned as "optional" in the guide are not synced to Sonarr release profiles.

Quality Definitions

  • Anime and Series (Non-Anime) quality definitions from the guide.
  • "Hybrid" type supported that is a mixture of both.

Radarr

Quality Definitions

  • Movie quality definition from the guide

Installation

Simply download the latest release for your platform:

The above links are from the latest release on the releases page. Feel free to visit there for release notes and older releases.

Note: For Sonarr updates to work, you must be running version 3.0.4.1098 or greater.

Special Note about Linux

When you extract the ZIP archive on Linux, it will not have the executable permission set. Here is a quick one-liner you can use in a terminal to download the latest release, extract it, and set it as executable. It will also replace any existing trash executable, so this is useful for upgrades, too. Run this from the directory where you want trash to be installed.

 wget -O trash.zip https://github.com/rcdailey/trash-updater/releases/latest/download/trash-linux-x64.zip \
    && unzip -o trash.zip && rm trash.zip && chmod +x trash

Getting Started

Trash Updater requires a YAML configuration file in order to work. Run the steps below if you want to get started with a minimal configuration file.

  • Run trash create-config to create a starter trash.yml file in the same directory as the executable. You can also use --path to customize the filename and location.
  • Open the generated YAML file from the previous step. At a minimum you must update the base_url and api_key settings for each service that you want to use.
  • Run trash sonarr and/or trash.radarr as needed to update those instances.

The last step above will do a "basic" sync from the guides to Sonarr and/or Radarr. The starter YAML config is very minimal. See the next section for further reading and links to the wiki for additional topics and more advanced customization.

Lastly, each subcommand supports printing help on the command line. Simply run trash --help for the main help output and a list of subcommands. You can then see the help for each subcommand by running trash [subcommand] --help, where [subcommand] is one of those subcommands (e.g. sonarr)

Read the Documentation

Main documentation is located in the wiki. Links provided below for some main topics.

Important Notices

The script may stop working at any time due to guide updates. I will do my best to fix them in a timely manner. Reporting such issues ASAP would be appreciated and will help identify issues more quickly.

Please be aware that this application relies on a deterministic and consistent structure of the TRaSH Guide markdown files. I have documented guidelines for the TRaSH Guides that should help to reduce the risk of the guide breaking the program's parsing logic, however it requires that guide contributors follow them.

Limitations

This application is a work in progress. At the moment, it only supports the following features and/or has the following limitations:

  • Radarr custom formats are not supported yet (coming soon).
  • Multiple scores on the same line are not supported. Only the first is used.
  • There's no way to explicitly include optional terms to be synced to Sonarr.

Roadmap

In addition to the above limitations, the following items are planned for the future.

  • Better and more polished error handling (it's pretty minimal right now)
  • Implement some sort of guide versioning (e.g. to avoid updating a release profile if the guide did not change).