fix(cli): fix bool options not editing config at runtime

This commit is contained in:
Benex254
2024-08-05 09:47:02 +03:00
parent d5447e946e
commit ab9efb7d3f
2 changed files with 34 additions and 10 deletions

View File

@@ -44,18 +44,40 @@ signal.signal(signal.SIGINT, handle_exit)
"-s",
"--server",
type=click.Choice(SERVERS_AVAILABLE, case_sensitive=False),
help="Server of choice",
)
@click.option(
"-c/-no-c",
"--continue/--no-continue",
"continue_",
type=bool,
help="Continue from last episode?",
)
@click.option(
"-q",
"--quality",
type=int,
help="set the quality of the stream",
)
@click.option("-t", "--translation_type", help="Anime language[dub/sub]")
@click.option(
"-A/-no-A",
"--auto-next/--no-auto-next",
type=bool,
help="Auto select next episode?",
)
@click.option(
"-a/-no-a",
"--auto-select/--no-auto-select",
type=bool,
help="Auto select anime title?",
)
@click.option("-c/-no-c", "--continue/--no-continue", "continue_", type=bool)
@click.option("-q", "--quality", type=int)
@click.option("-t", "--translation_type")
@click.option("-A/-no-A", "--auto-next/--no-auto-next", type=bool)
@click.option("-a/-no-a", "--auto-select/--no-auto-select", type=bool)
@click.option(
"-S",
"--sort-by",
type=click.Choice(anilist_sort_normalizer.keys()), # pyright: ignore
)
@click.option("-d", "--downloads-dir", type=click.Path())
@click.option("-d", "--downloads-dir", type=click.Path(), help="Downloads location")
@click.pass_context
def run_cli(
ctx: click.Context,
@@ -71,13 +93,16 @@ def run_cli(
ctx.obj = Config()
if server:
ctx.obj.server = server
if continue_:
if ctx.get_parameter_source("continue_") == click.core.ParameterSource.COMMANDLINE:
ctx.obj.continue_from_history = continue_
if quality:
ctx.obj.quality = quality
if auto_next:
if ctx.get_parameter_source("auto-next") == click.core.ParameterSource.COMMANDLINE:
ctx.obj.auto_next = auto_next
if auto_select:
if (
ctx.get_parameter_source("auto_select")
== click.core.ParameterSource.COMMANDLINE
):
ctx.obj.auto_select = auto_select
if sort_by:
ctx.obj.sort_by = sort_by

View File

@@ -28,7 +28,6 @@ from ..utils.utils import clear
def download(config: Config, anime_title, episode_range):
translation_type = config.translation_type
download_dir = config.downloads_dir
config.quality
search_results = anime_provider.search_for_anime(
anime_title, translation_type=translation_type
)