Newer
Older
from lib.progress.progress_manager import progress
parser = argparse.ArgumentParser()
parser.add_argument("mode", choices=["start", "status", "check"])
parser.add_argument("level", nargs="?", default=None)
parser.add_argument("-i", "--input", required=False, default=None, dest="input_file")
args = parser.parse_args()
def color(msg: str, unlocked: bool, done: bool) -> str:
if done:
# green
color = "\033[92m"
elif unlocked:
# yellow
color = "\033[93m"
else:
# red
color = "\033[91m"
return f"{color} {msg}\033[00m"
def start():
# check if there is progress file
print("Agdbentures progress started or restarted")
def check(level=None):
print("check")
undone = progress.next_undone()
checked = progress.check_level(level, input_file)
checked = progress.check_level(undone[0], input_file)
print(
"Error multiple levels are doable at this point see ./agdbentures_cli status"
)
print("You can specify the level to check with ./agdbentures check level_name")
sys.exit(1)
if checked == 0:
print("Level success")
else:
print("Level failed")
def status():
unlocked = True
for progress in progress.progress:
color(os.path.basename(level), unlocked, done)
for level, done in zip(progress.levels, progress.dones)
]
print(" ".join(display_strings))
unlocked = unlocked and progress.all_done()
# if not unlocked:
# return
elif args.mode == "check":
check(args.level)
elif args.mode == "status":