From bc1369c480f5538d3a75b158451f552fbbf38c56 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sun, 14 Jul 2024 18:48:31 +0100 Subject: [PATCH] Updated the spinner to update 5 times per second. --- aider/utils.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/aider/utils.py b/aider/utils.py index 7b6246a55..9fccac6ee 100644 --- a/aider/utils.py +++ b/aider/utils.py @@ -3,6 +3,7 @@ import os import subprocess import sys import tempfile +import time from pathlib import Path import git @@ -207,22 +208,20 @@ def run_install(cmd): universal_newlines=True, ) spinner = itertools.cycle(["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]) - char_count = 0 - current_line = "" + last_update = time.time() + update_interval = 0.2 # 5 times per second while True: char = process.stdout.read(1) if not char: break - current_line += char - char_count += 1 output.append(char) - if char == '\n' or char_count >= 10: + current_time = time.time() + if current_time - last_update >= update_interval: print(f" Installing... {next(spinner)}", end="\r", flush=True) - char_count = 0 - current_line = "" + last_update = current_time return_code = process.wait()