fix: update spinner every 0.1 sec at most

This commit is contained in:
Paul Gauthier (aider) 2024-08-05 17:32:07 -03:00
parent b76434f5e0
commit 54a481813a

View file

@ -1,6 +1,7 @@
import base64 import base64
import itertools import itertools
import os import os
import time
from collections import defaultdict from collections import defaultdict
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
@ -26,9 +27,16 @@ class Spinner:
def __init__(self, io, text): def __init__(self, io, text):
self.io = io self.io = io
self.text = text self.text = text
print(f" {self.text} {next(self.io.spinner_chars)}", end="\r", flush=True) self.last_update = 0
self._step()
def step(self): def step(self):
current_time = time.time()
if current_time - self.last_update >= 0.1:
self._step()
self.last_update = current_time
def _step(self):
print(f" {self.text} {next(self.io.spinner_chars)}", end="\r", flush=True) print(f" {self.text} {next(self.io.spinner_chars)}", end="\r", flush=True)
def end(self): def end(self):