|
|
@ -183,8 +183,8 @@ def show(show_id, folder=None, no_search=False):
|
|
|
|
@click.option('--notifications', is_flag=True, help='Send notifications.')
|
|
|
|
@click.option('--notifications', is_flag=True, help='Send notifications.')
|
|
|
|
@click.option('--authenticate-user',
|
|
|
|
@click.option('--authenticate-user',
|
|
|
|
help='Specify which user to authenticate with to retrieve Trakt lists. Default: first user in the config')
|
|
|
|
help='Specify which user to authenticate with to retrieve Trakt lists. Default: first user in the config')
|
|
|
|
def shows(list_type, add_limit=0, add_delay=2.5, sort='votes', genre=None, folder=None, no_search=False, notifications=False,
|
|
|
|
def shows(list_type, add_limit=0, add_delay=2.5, sort='votes', genre=None, folder=None, no_search=False,
|
|
|
|
authenticate_user=None):
|
|
|
|
notifications=False, authenticate_user=None):
|
|
|
|
from media.sonarr import Sonarr
|
|
|
|
from media.sonarr import Sonarr
|
|
|
|
from media.trakt import Trakt
|
|
|
|
from media.trakt import Trakt
|
|
|
|
from helpers import misc as misc_helper
|
|
|
|
from helpers import misc as misc_helper
|
|
|
@ -369,8 +369,8 @@ def movie(movie_id, folder=None, no_search=False):
|
|
|
|
@click.option('--notifications', is_flag=True, help='Send notifications.')
|
|
|
|
@click.option('--notifications', is_flag=True, help='Send notifications.')
|
|
|
|
@click.option('--authenticate-user',
|
|
|
|
@click.option('--authenticate-user',
|
|
|
|
help='Specify which user to authenticate with to retrieve Trakt lists. Default: first user in the config.')
|
|
|
|
help='Specify which user to authenticate with to retrieve Trakt lists. Default: first user in the config.')
|
|
|
|
def movies(list_type, add_limit=0, add_delay=2.5, sort='votes', genre=None, folder=None, no_search=False, notifications=False,
|
|
|
|
def movies(list_type, add_limit=0, add_delay=2.5, sort='votes', genre=None, folder=None, no_search=False,
|
|
|
|
authenticate_user=None):
|
|
|
|
notifications=False, authenticate_user=None):
|
|
|
|
from media.radarr import Radarr
|
|
|
|
from media.radarr import Radarr
|
|
|
|
from media.trakt import Trakt
|
|
|
|
from media.trakt import Trakt
|
|
|
|
from helpers import misc as misc_helper
|
|
|
|
from helpers import misc as misc_helper
|
|
|
@ -517,7 +517,7 @@ def callback_notify(data):
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def automatic_shows(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
def automatic_shows(add_delay=2.5, sort='votes', no_search=False, notifications=False):
|
|
|
|
from media.trakt import Trakt
|
|
|
|
from media.trakt import Trakt
|
|
|
|
|
|
|
|
|
|
|
|
total_shows_added = 0
|
|
|
|
total_shows_added = 0
|
|
|
@ -541,7 +541,7 @@ def automatic_shows(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
|
|
|
|
|
|
|
|
# run shows
|
|
|
|
# run shows
|
|
|
|
added_shows = shows.callback(list_type=list_type, add_limit=limit,
|
|
|
|
added_shows = shows.callback(list_type=list_type, add_limit=limit,
|
|
|
|
add_delay=add_delay, no_search=no_search,
|
|
|
|
add_delay=add_delay, sort=sort, no_search=no_search,
|
|
|
|
notifications=notifications)
|
|
|
|
notifications=notifications)
|
|
|
|
elif list_type.lower() == 'watchlist':
|
|
|
|
elif list_type.lower() == 'watchlist':
|
|
|
|
for authenticate_user, limit in value.items():
|
|
|
|
for authenticate_user, limit in value.items():
|
|
|
@ -553,7 +553,7 @@ def automatic_shows(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
|
|
|
|
|
|
|
|
# run shows
|
|
|
|
# run shows
|
|
|
|
added_shows = shows.callback(list_type=list_type, add_limit=limit,
|
|
|
|
added_shows = shows.callback(list_type=list_type, add_limit=limit,
|
|
|
|
add_delay=add_delay, no_search=no_search,
|
|
|
|
add_delay=add_delay, sort=sort, no_search=no_search,
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
elif list_type.lower() == 'lists':
|
|
|
|
elif list_type.lower() == 'lists':
|
|
|
|
for list, v in value.items():
|
|
|
|
for list, v in value.items():
|
|
|
@ -566,7 +566,7 @@ def automatic_shows(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
|
|
|
|
|
|
|
|
# run shows
|
|
|
|
# run shows
|
|
|
|
added_shows = shows.callback(list_type=list, add_limit=limit,
|
|
|
|
added_shows = shows.callback(list_type=list, add_limit=limit,
|
|
|
|
add_delay=add_delay, no_search=no_search,
|
|
|
|
add_delay=add_delay, sort=sort, no_search=no_search,
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
|
|
|
|
|
|
|
|
if added_shows is None:
|
|
|
|
if added_shows is None:
|
|
|
@ -588,7 +588,7 @@ def automatic_shows(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def automatic_movies(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
def automatic_movies(add_delay=2.5, sort='votes', no_search=False, notifications=False):
|
|
|
|
from media.trakt import Trakt
|
|
|
|
from media.trakt import Trakt
|
|
|
|
|
|
|
|
|
|
|
|
total_movies_added = 0
|
|
|
|
total_movies_added = 0
|
|
|
@ -612,7 +612,7 @@ def automatic_movies(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
|
|
|
|
|
|
|
|
# run movies
|
|
|
|
# run movies
|
|
|
|
added_movies = movies.callback(list_type=list_type, add_limit=limit,
|
|
|
|
added_movies = movies.callback(list_type=list_type, add_limit=limit,
|
|
|
|
add_delay=add_delay, no_search=no_search,
|
|
|
|
add_delay=add_delay, sort=sort, no_search=no_search,
|
|
|
|
notifications=notifications)
|
|
|
|
notifications=notifications)
|
|
|
|
elif list_type.lower() == 'watchlist':
|
|
|
|
elif list_type.lower() == 'watchlist':
|
|
|
|
for authenticate_user, limit in value.items():
|
|
|
|
for authenticate_user, limit in value.items():
|
|
|
@ -624,7 +624,7 @@ def automatic_movies(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
|
|
|
|
|
|
|
|
# run movies
|
|
|
|
# run movies
|
|
|
|
added_movies = movies.callback(list_type=list_type, add_limit=limit,
|
|
|
|
added_movies = movies.callback(list_type=list_type, add_limit=limit,
|
|
|
|
add_delay=add_delay, no_search=no_search,
|
|
|
|
add_delay=add_delay, sort=sort, no_search=no_search,
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
elif list_type.lower() == 'lists':
|
|
|
|
elif list_type.lower() == 'lists':
|
|
|
|
for list, v in value.items():
|
|
|
|
for list, v in value.items():
|
|
|
@ -637,7 +637,7 @@ def automatic_movies(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
|
|
|
|
|
|
|
|
# run shows
|
|
|
|
# run shows
|
|
|
|
added_movies = movies.callback(list_type=list, add_limit=limit,
|
|
|
|
added_movies = movies.callback(list_type=list, add_limit=limit,
|
|
|
|
add_delay=add_delay, no_search=no_search,
|
|
|
|
add_delay=add_delay, sort=sort, no_search=no_search,
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
notifications=notifications, authenticate_user=authenticate_user)
|
|
|
|
|
|
|
|
|
|
|
|
if added_movies is None:
|
|
|
|
if added_movies is None:
|
|
|
@ -662,10 +662,12 @@ def automatic_movies(add_delay=2.5, no_search=False, notifications=False):
|
|
|
|
@app.command(help='Run in automatic mode.')
|
|
|
|
@app.command(help='Run in automatic mode.')
|
|
|
|
@click.option('--add-delay', '-d', default=2.5, help='Seconds between each add request to Sonarr / Radarr.',
|
|
|
|
@click.option('--add-delay', '-d', default=2.5, help='Seconds between each add request to Sonarr / Radarr.',
|
|
|
|
show_default=True)
|
|
|
|
show_default=True)
|
|
|
|
|
|
|
|
@click.option('--sort', '-s', default='votes', type=click.Choice(['votes', 'rating', 'release']),
|
|
|
|
|
|
|
|
help='Sort list to process.')
|
|
|
|
@click.option('--no-search', is_flag=True, help='Disable search when adding to Sonarr / Radarr.')
|
|
|
|
@click.option('--no-search', is_flag=True, help='Disable search when adding to Sonarr / Radarr.')
|
|
|
|
@click.option('--run-now', is_flag=True, help="Do a first run immediately without waiting.")
|
|
|
|
@click.option('--run-now', is_flag=True, help="Do a first run immediately without waiting.")
|
|
|
|
@click.option('--no-notifications', is_flag=True, help="Disable notifications.")
|
|
|
|
@click.option('--no-notifications', is_flag=True, help="Disable notifications.")
|
|
|
|
def run(add_delay=2.5, no_search=False, run_now=False, no_notifications=False):
|
|
|
|
def run(add_delay=2.5, sort='votes', no_search=False, run_now=False, no_notifications=False):
|
|
|
|
log.info("Automatic mode is now running...")
|
|
|
|
log.info("Automatic mode is now running...")
|
|
|
|
|
|
|
|
|
|
|
|
# Add tasks to schedule and do first run if enabled
|
|
|
|
# Add tasks to schedule and do first run if enabled
|
|
|
@ -673,6 +675,7 @@ def run(add_delay=2.5, no_search=False, run_now=False, no_notifications=False):
|
|
|
|
movie_schedule = schedule.every(cfg.automatic.movies.interval).hours.do(
|
|
|
|
movie_schedule = schedule.every(cfg.automatic.movies.interval).hours.do(
|
|
|
|
automatic_movies,
|
|
|
|
automatic_movies,
|
|
|
|
add_delay,
|
|
|
|
add_delay,
|
|
|
|
|
|
|
|
sort,
|
|
|
|
no_search,
|
|
|
|
no_search,
|
|
|
|
not no_notifications
|
|
|
|
not no_notifications
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -686,6 +689,7 @@ def run(add_delay=2.5, no_search=False, run_now=False, no_notifications=False):
|
|
|
|
shows_schedule = schedule.every(cfg.automatic.shows.interval).hours.do(
|
|
|
|
shows_schedule = schedule.every(cfg.automatic.shows.interval).hours.do(
|
|
|
|
automatic_shows,
|
|
|
|
automatic_shows,
|
|
|
|
add_delay,
|
|
|
|
add_delay,
|
|
|
|
|
|
|
|
sort,
|
|
|
|
no_search,
|
|
|
|
no_search,
|
|
|
|
not no_notifications
|
|
|
|
not no_notifications
|
|
|
|
)
|
|
|
|
)
|
|
|
|