add --sort/-s to run mode.

pull/54/head
James 7 years ago
parent 870ba81fed
commit 961486d48b

@ -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
) )

Loading…
Cancel
Save