j'ai besoin de faire une fonction du genre: def print_wrapped(text, couleur='\033[33m', padding=2, end="\n", flush=False):
J'avais une fonction pour le texte basique qui fonctionne bien:
def print_wrapped(text, padding=2):
# Largeur du terminal ajustée dynamiquement
terminal_width = shutil.get_terminal_size().columns - padding
# Formatage sans couper les mots
wrapped_text = textwrap.fill(
text,
width=terminal_width,
break_long_words=False,
replace_whitespace=False
)
print(wrapped_text)
mais là je sais pas si c'est possible, pour le streaming de chunk:
for chunk in response:
if not stop_animation.is_set():
stop_animation.set()
animation_thread.join()
if hasattr(chunk, 'text'):
chunk_texte = chunk.text
print_wrapped(f"{chunk_texte}", '\033[33m', end='', flush=True) # ici la fonction doit gérer les sauts de ligne pour que les mots en fin de ligne ne soient pas coupés.