diff --git a/gitgud/util/level_builder.py b/gitgud/util/level_builder.py index bf2467c3..50a3a572 100644 --- a/gitgud/util/level_builder.py +++ b/gitgud/util/level_builder.py @@ -1,27 +1,13 @@ -import sys - -from importlib_resources import files - +import keyboard import yaml - -from .parsing import branches_to_lowercase -from .parsing import test_ancestry -from .parsing import level_json -from .parsing import parse_spec -from .parsing import name_from_map -from .parsing import get_non_merges -from .parsing import name_merges - -from gitgud.user_messages import cat_file -from gitgud.user_messages import show_level_name -from gitgud.user_messages import show_tree -from gitgud.user_messages import default_fail -from gitgud.user_messages import level_complete -from gitgud.user_messages import skill_complete -from gitgud.user_messages import all_levels_complete -from gitgud.user_messages import no_solutions_available - +from gitgud.user_messages import (all_levels_complete, cat_file, default_fail, + level_complete, no_solutions_available, + show_level_name, show_tree, skill_complete) from gitgud.util import operations +from importlib_resources import files + +from .parsing import (branches_to_lowercase, get_non_merges, level_json, + name_from_map, name_merges, parse_spec, test_ancestry) class Level: @@ -147,12 +133,9 @@ def explain(self): lines = self.file('explanation.txt').read_text().split('\n>>>\n') for i, line in enumerate(lines): print(line.strip()) - progress_string = '>>> ({}/{})'.format(i+1, len(lines)) - if i != len(lines) - 1: - input(progress_string + '\n') - sys.stdout.write("\033[F") # Cursor up one line - else: - print(progress_string) + print(f'>>>({i+1}/{len(lines)})', end='', flush=True) + keyboard.wait('enter', suppress=True) + print() except KeyboardInterrupt: exit() # Handle Traceback for keyboard interrupt diff --git a/setup.py b/setup.py index ba788311..ede5c100 100644 --- a/setup.py +++ b/setup.py @@ -45,6 +45,7 @@ 'gitpython==3.1.7', 'importlib_resources', 'pyyaml', + 'keyboard', ], entry_points={ "console_scripts": [