mirror of
https://github.com/Faraphel/Atlas-Install.git
synced 2025-07-02 02:38:30 +02:00
cli now support arguments (removed the old input method) and raise error if one of them is invalid.
This commit is contained in:
parent
de5421cfdf
commit
8bf935a5cc
1 changed files with 13 additions and 19 deletions
|
@ -18,24 +18,24 @@ def cli(options, argparser: argparse.ArgumentParser):
|
|||
|
||||
mod_config_path = Path(f"./Pack/{args.mod}/mod_config.json")
|
||||
if not mod_config_path.exists():
|
||||
print(_("ERROR_INVALID_MOD") % args.mod, file=sys.stderr)
|
||||
sys.stderr.write(_("ERROR_INVALID_MOD") % args.mod + "\n")
|
||||
return
|
||||
mod_config = ModConfig.from_file(mod_config_path)
|
||||
|
||||
game_path = Path(args.source)
|
||||
if not is_valid_source_path(game_path):
|
||||
print(_("ERROR_INVALID_SOURCE_GAME") % game_path, file=sys.stderr)
|
||||
sys.stderr.write(_("ERROR_INVALID_SOURCE_GAME") % game_path + "\n")
|
||||
return
|
||||
game = Game(args.source)
|
||||
|
||||
destination_path = Path(args.dest)
|
||||
if not is_valid_destination_path(destination_path):
|
||||
print(_("ERROR_INVALID_GAME_DESTINATION") % destination_path, file=sys.stderr)
|
||||
sys.stderr.write(_("ERROR_INVALID_GAME_DESTINATION") % destination_path + "\n")
|
||||
return
|
||||
|
||||
try: output_type = Extension[args.output_type]
|
||||
except KeyError:
|
||||
print(_("ERROR_INVALID_OUTPUT_TYPE") % args.output_type, file=sys.stderr)
|
||||
sys.stderr.write(_("ERROR_INVALID_OUTPUT_TYPE") % args.output_type + "\n")
|
||||
return
|
||||
|
||||
# installation and progress bar
|
||||
|
@ -67,21 +67,15 @@ def cli(options, argparser: argparse.ArgumentParser):
|
|||
|
||||
progressbar_step: int = current_step * progressbar_max // max_step if max_step > 0 else 0
|
||||
|
||||
print(
|
||||
"\033[H\033[J", "\n", # clear the shell
|
||||
title, f"({current_part} / {max_part})", "\n", # print the title and the actual part
|
||||
description, "\n", # print the description
|
||||
*((
|
||||
sys.stdout.write(
|
||||
"\033[H\033[J" # clear the shell
|
||||
f"{title} ({current_part} / {max_part})\n" # print the title and the actual part
|
||||
f"{description}\n" # print the description
|
||||
)
|
||||
|
||||
if determinate: sys.stdout.write(
|
||||
f"{round((current_step / max_step if max_step > 0 else 0) * 100, 2)}% "
|
||||
f"[{'#' * progressbar_step}{' ' * (progressbar_max - progressbar_step)}]"
|
||||
) if determinate else ()), # if determinate, show a progress bar
|
||||
|
||||
sep=""
|
||||
f"[{'#' * progressbar_step}{' ' * (progressbar_max - progressbar_step)}]\n"
|
||||
)
|
||||
|
||||
print(
|
||||
"\033[H\033[J",
|
||||
get_finished_installation_message(mod_config),
|
||||
|
||||
sep="\n"
|
||||
)
|
||||
sys.stdout.write("\033[H\033[J" + get_finished_installation_message(mod_config) + "\n")
|
||||
|
|
Loading…
Reference in a new issue