@ -30,14 +56,11 @@ Script to add new shows & movies to Sonarr/Radarr based on Trakt lists.
},
},
"shows": {
"shows": {
"anticipated": 10,
"anticipated": 10,
"interval": 72,
"interval": 48,
"popular": 1,
"popular": 1,
"trending": 2
"trending": 2
}
}
},
},
"core": {
"debug": false
},
"filters": {
"filters": {
"movies": {
"movies": {
"allowed_countries": [
"allowed_countries": [
@ -100,7 +123,16 @@ Script to add new shows & movies to Sonarr/Radarr based on Trakt lists.
}
}
},
},
"notifications": {
"notifications": {
"verbose": true
"pushover": {
"service": "pushover",
"app_token": "",
"user_token": ""
},
"slack": {
"service": "slack",
"webhook_url": ""
},
"verbose": true,
},
},
"radarr": {
"radarr": {
"api_key": "",
"api_key": "",
@ -122,31 +154,345 @@ Script to add new shows & movies to Sonarr/Radarr based on Trakt lists.
```
```
## Core
```json
"core": {
"debug": false
},
```
`debug` - show debug messages.
- Default is `false` (keep it off unless your having issues).
## Automatic
Used for automatic / scheduled Traktarr tasks.
Movies can be run on a separate schedule from Shows.
```json
"automatic": {
"movies": {
"anticipated": 3,
"boxoffice": 10,
"interval": 24,
"popular": 3,
"trending": 2
},
"shows": {
"anticipated": 10,
"interval": 48,
"popular": 1,
"trending": 2
}
},
```
`interval` - specify how often (in hours) to run Traktarr task.
`anticipated`, `popular`, `trending`, `boxoffice` (movies only) - specify how many items from each Trakt list to find.
## Filters
Use filters to specify the movie/shows's country of origin or blacklist (i.e. filter-out) certain keywords, genres, years, runtime, or specific movies/shows.
### Movies
```json
"movies": {
"allowed_countries": [
"us",
"gb",
"ca"
],
"blacklist_title_keywords": [
"untitled",
"barbie"
],
"blacklisted_genres": [
"documentary",
"music",
"animation"
],
"blacklisted_max_year": 2019,
"blacklisted_min_runtime": 60,
"blacklisted_min_year": 2000,
"blacklisted_tmdb_ids": []
},
```
`allowed_countries` - allowed countries of origin.
`blacklist_title_keywords` - blacklist certain words in titles.
`blacklisted_genres` - blacklist certain generes.
`blacklisted_max_year` - blacklist release dates after specified year.
`blacklisted_min_runtime` - blacklist runtime duration lower than specified time (in minutes).
`blacklisted_min_year` - blacklist release dates before specified year.
`blacklisted_tmdb_ids` - blacklist certain movies with their TMDB IDs.
### Shows
```json
"shows": {
"allowed_countries": [
"us",
"gb",
"ca"
],
"blacklisted_genres": [
"animation",
"game-show",
"talk-show",
"home-and-garden",
"children",
"reality",
"anime",
"news",
"documentary",
"special-interest"
],
"blacklisted_max_year": 2019,
"blacklisted_min_runtime": 15,
"blacklisted_min_year": 2000,
"blacklisted_networks": [
"twitch",
"youtube",
"nickelodeon",
"hallmark",
"reelzchannel",
"disney",
"cnn",
"cbbc",
"the movie network",
"teletoon",
"cartoon network",
"espn",
"yahoo!",
"fox sports"
],
"blacklisted_tvdb_ids": []
}
```
`allowed_countries` - allowed countries of origin.
`blacklisted_genres` - blacklist certain generes.
`blacklisted_max_year` - blacklist release dates after specified year.
`blacklisted_min_runtime` - blacklist runtime duration lower than specified time (in minutes).
`blacklisted_min_year` - blacklist release dates before specified year.
`blacklisted_networks` - blacklist certain network.
`blacklisted_tvdb_ids` - blacklist certain shows with their TVDB IDs.
## Notifications
Notification alerts during tasks.
Currently, only Pushover and Slack are supported. More will abe added later.
```json
"notifications": {
"pushover": {
"service": "pushover",
"app_token": "",
"user_token": ""
},
"slack": {
"service": "slack",
"webhook_url": ""
},
"verbose": true,
},
```
`verbose` - toggle detailed notifications.
- Default is `true` (keep it off unless your having issues).
### Pushover
`app_token` and `user_token` - retrieve from Pushover.net.
_Note: The key name (i.e the name right under notifications) can be anything, but the `"service":` must be exactly `"pushover"`._
### Slack
`webhook_url` - webhook URL you get after creating an "Incoming Webhook" under "Custom Integrations".
_Note: The key name (i.e the name right under notifications) can be anything, but the `"service":` must be exactly `"slack"`._
## Radarr
Radarr configuration.
```json
"radarr": {
"api_key": "",
"profile": "HD-1080p",
"root_folder": "/movies/",
"url": "http://localhost:7878"
},
```
`api_key` - Radarr's API Key.
`profile` - Profile that movies are assigned to.
`root_folder` - Root folder for movies.
`url` - Radarr's URL.
## Sonarr
Sonarr configuration.
```json
"sonarr": {
"api_key": "",
"profile": "HD-1080p",
"root_folder": "/tv/",
"tags": {},
"url": "http://localhost:8989"
},
```
`api_key` - Sonarr's API Key.
`profile` - Profile that TV shows are assigned to.
`root_folder` - Root folder for TV shows.
`tags` - assign tags to shows based the network it airs on. More details on this below.
`url` - Sonarr's URL.
### Tags
To show how tags work, we will create a sample tag `AMZN` and assign it to certain networks.
### Sonarr
First, we will create a tag in Sonarr (Settings > Indexers > Restrictions).
```
Must contain: BluRay, Amazon, AMZN,
Must not contain:
Tags: AMZN
```
### Traktarr
Finally, we will edit the Traktarr config and assign the `AMZN` tag to certain networks.
```json
"tags": {
"amzn": [
"hbo",
"amc",
"usa network",
"tnt",
"starz",
"the cw",
"fx",
"fox",
"abc",
"nbc",
"cbs",
"tbs",
"amazon",
"syfy",
"cinemax",
"bravo",
"showtime",
"paramount network"
]
}
```
## Trakt
```json
"trakt": {
"api_key": ""
}
```
`api_key` - Fill in your Trakt API key (_Client ID_).
How to get a Trakt API Key:
- Go to https://trakt.tv/oauth/applications/new
- Fill in:
- Name: `Traktarr`
- Redirect uri: `https://google.com`
- Click `Save App`
- Retrieve the _Client ID_.
# Usage
# Usage
## Help
## General
```
```
Usage: python3 traktarr.py movies --help
traktarr
Usage: python3 traktarr.py shows --help
```
```
Usage: traktarr [OPTIONS] COMMAND [ARGS]...
Add new shows & movies to Sonarr/Radarr from Trakt lists.