diff --git a/source/interface/cli/install.py b/source/interface/cli/install.py index 0e4f688..d413d1e 100644 --- a/source/interface/cli/install.py +++ b/source/interface/cli/install.py @@ -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 - *(( - 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="" + 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 ) - print( - "\033[H\033[J", - get_finished_installation_message(mod_config), + 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)}]\n" + ) - sep="\n" - ) + sys.stdout.write("\033[H\033[J" + get_finished_installation_message(mod_config) + "\n")