From 4e2171fcdac7b46df39b521f1bb985676bed18db Mon Sep 17 00:00:00 2001 From: CatChow0 Date: Wed, 4 Jun 2025 02:10:05 +0200 Subject: [PATCH] a --- animecli.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/animecli.py b/animecli.py index 91c8571..5deb072 100644 --- a/animecli.py +++ b/animecli.py @@ -89,10 +89,10 @@ def choisir_source(stdscr, sources_infos): line = f"{idx+1}. {info['url']} ({info['qualite']}, {info['taille']})" if idx == sel: stdscr.attron(curses.color_pair(1)) - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.attroff(curses.color_pair(1)) else: - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.refresh() k = stdscr.getch() if k == curses.KEY_UP and sel > 0: @@ -167,10 +167,10 @@ def handle_multi_download(stdscr, conn): line = f"{titre} (Saison {saison}, dernier: {format_dernier(dernier, saison)})" if idx == sel: stdscr.attron(curses.color_pair(1)) - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.attroff(curses.color_pair(1)) else: - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.refresh() k = stdscr.getch() if k == curses.KEY_UP and sel > 0: @@ -204,10 +204,10 @@ def handle_multi_download(stdscr, conn): line = f"{mark} Épisode {idx+1}" if idx == cursor: stdscr.attron(curses.color_pair(1)) - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.attroff(curses.color_pair(1)) else: - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.refresh() k = stdscr.getch() if k == curses.KEY_UP and cursor > 0: @@ -427,10 +427,10 @@ def handle_delete(stdscr, conn): line = f"{titre} (Saison {saison}, dernier: {format_dernier(dernier, saison)})" if idx == sel: stdscr.attron(curses.color_pair(1)) - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.attroff(curses.color_pair(1)) else: - stdscr.addstr(2 + idx, 2, line) + safe_addstr(stdscr, 2 + idx, 2, line) stdscr.refresh() k = stdscr.getch() if k == curses.KEY_UP and sel > 0: @@ -446,6 +446,11 @@ def handle_delete(stdscr, conn): stdscr.addstr(2, 0, "Appuyez sur une touche pour revenir au menu.") stdscr.getch() +def safe_addstr(stdscr, y, x, text): + max_y, max_x = stdscr.getmaxyx() + if 0 <= y < max_y: + stdscr.addstr(y, x, text[:max_x - x - 1]) + def main(): conn = init_db() curses.wrapper(setup_and_run, conn)