#!/usr/bin/env python3 """Print progress for a human listening trial inside Fenrir TTY or -x mode. This generates terminal output only; Fenrir owns all tone playback. """ import argparse import time def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--scroll", action="store_true", help="Print each update on a new line to test scrolling") args = parser.parse_args() linePrefix = "" if args.scroll else "\r" lineEnd = "\n" if args.scroll else "" for percentage in range(0, 101, 10): filled = percentage // 10 barText = "#" * filled + " " * (10 - filled) print(f"{linePrefix}Download {percentage:3}% [{barText}]", end=lineEnd, flush=True) time.sleep(0.2) print() for spinnerChar in "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏" * 2: print(f"{linePrefix}{spinnerChar} Preparing files", end=lineEnd, flush=True) time.sleep(0.25) print(linePrefix + "Done." + " " * 20, flush=True) if __name__ == "__main__": main()