Merge pull request #1 from l3uddz/develop

Develop
pull/4/head
James 7 years ago committed by GitHub
commit 554ac52dca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,2 +1,98 @@
# traktarr # Traktarr
Script to add new series & movies to Sonarr/Radarr based on Trakt lists. Script to add new TV series & movies to Sonarr/Radarr based on Trakt lists.
# Requirements
1. Python 3.5 or higher (`sudo apt install python3 python3-pip`).
2. requirements.txt modules (see below).
# Installation on Ubuntu/Debian
1. `cd /opt`
3. `sudo git clone https://github.com/l3uddz/traktarr`
4. `sudo chown -R user:group traktarr` (run `id` to find your user / group)
5. `cd traktarr`
6. `sudo python3 -m pip install -r requirements.txt`
7. `python3 traktarr.py` to generate a default a config.json file.
8. Edit `config.json` to your preference.
# Configuration
```
{
"core": {
"debug": false
},
"filters": {
"movies": {
"allowed_countries": [
"us",
"gb",
"ca"
],
"blacklist_title_keywords": [
"untitled",
"barbie"
],
"blacklisted_genres": [
"documentary",
"music"
],
"blacklisted_min_runtime": 60,
"blacklisted_min_year": 2000
},
"shows": {
"allowed_countries": [
"us",
"gb",
"ca"
],
"blacklisted_genres": [
"animation",
"game-show",
"talk-show",
"home-and-garden",
"children",
"reality",
"anime",
"news",
"documentary",
"special-interest"
],
"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"
]
}
},
"radarr": {
"api_key": "",
"profile": "HD-1080p",
"root_folder": "/movies/",
"url": "http://localhost:7878"
},
"sonarr": {
"api_key": "",
"profile": "HD-1080p",
"root_folder": "/tv/",
"url": "http://localhost:8989"
},
"trakt": {
"api_key": ""
}
}
```

@ -15,13 +15,13 @@ base_config = {
'sonarr': { 'sonarr': {
'url': 'http://localhost:8989', 'url': 'http://localhost:8989',
'api_key': '', 'api_key': '',
'profile': 'WEBDL-1080p', 'profile': 'HD-1080p',
'root_folder': '/tv/' 'root_folder': '/tv/'
}, },
'radarr': { 'radarr': {
'url': 'http://localhost:8989', 'url': 'http://localhost:7878',
'api_key': '', 'api_key': '',
'profile': 'Remux', 'profile': 'HD-1080p',
'root_folder': '/movies/' 'root_folder': '/movies/'
}, },
'filters': { 'filters': {

@ -33,7 +33,8 @@ def app():
help='Trakt list to process.', required=True) help='Trakt list to process.', required=True)
@click.option('--add-limit', '-l', default=0, help='Limit number of series added to Sonarr.', show_default=True) @click.option('--add-limit', '-l', default=0, help='Limit number of series added to Sonarr.', show_default=True)
@click.option('--add-delay', '-d', default=2.5, help='Seconds between each add request to Sonarr.', show_default=True) @click.option('--add-delay', '-d', default=2.5, help='Seconds between each add request to Sonarr.', show_default=True)
def shows(list_type, add_limit=0, add_delay=2.5): @click.option('--no-search', is_flag=True, help='Disable search when adding series to Sonarr.')
def shows(list_type, add_limit=0, add_delay=2.5, no_search=False):
added_shows = 0 added_shows = 0
# validate trakt api_key # validate trakt api_key
@ -107,7 +108,7 @@ def shows(list_type, add_limit=0, add_delay=2.5):
# add show to sonarr # add show to sonarr
if sonarr.add_series(series['show']['ids']['tvdb'], series['show']['title'], profile_id, if sonarr.add_series(series['show']['ids']['tvdb'], series['show']['title'], profile_id,
cfg.sonarr.root_folder, cfg.sonarr.root_folder,
True): not no_search):
log.info("ADDED %s (%d)", series['show']['title'], series['show']['year']) log.info("ADDED %s (%d)", series['show']['title'], series['show']['year'])
added_shows += 1 added_shows += 1
else: else:
@ -131,7 +132,8 @@ def shows(list_type, add_limit=0, add_delay=2.5):
help='Trakt list to process.', required=True) help='Trakt list to process.', required=True)
@click.option('--add-limit', '-l', default=0, help='Limit number of movies added to Radarr.', show_default=True) @click.option('--add-limit', '-l', default=0, help='Limit number of movies added to Radarr.', show_default=True)
@click.option('--add-delay', '-d', default=2.5, help='Seconds between each add request to Radarr.', show_default=True) @click.option('--add-delay', '-d', default=2.5, help='Seconds between each add request to Radarr.', show_default=True)
def movies(list_type, add_limit=0, add_delay=2.5): @click.option('--no-search', is_flag=True, help='Disable search when adding movies to Radarr.')
def movies(list_type, add_limit=0, add_delay=2.5, no_search=False):
added_movies = 0 added_movies = 0
# validate trakt api_key # validate trakt api_key
@ -202,7 +204,7 @@ def movies(list_type, add_limit=0, add_delay=2.5):
', '.join(movie['movie']['genres']), movie['movie']['country'].upper()) ', '.join(movie['movie']['genres']), movie['movie']['country'].upper())
# add movie to radarr # add movie to radarr
if radarr.add_movie(movie['movie']['ids']['tmdb'], movie['movie']['title'], movie['movie']['year'], if radarr.add_movie(movie['movie']['ids']['tmdb'], movie['movie']['title'], movie['movie']['year'],
profile_id, cfg.sonarr.root_folder, True): profile_id, cfg.radarr.root_folder, not no_search):
log.info("ADDED %s (%d)", movie['movie']['title'], movie['movie']['year']) log.info("ADDED %s (%d)", movie['movie']['title'], movie['movie']['year'])
added_movies += 1 added_movies += 1
else: else:

Loading…
Cancel
Save