Fix mypy warnings in the tui/ directory (#2816)

This commit is contained in:
correctmost 2024-11-15 20:00:31 -05:00 committed by GitHub
parent 316711d261
commit a4935bdd10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 15 deletions

View File

@ -7,6 +7,7 @@ import signal
from abc import ABCMeta, abstractmethod
from curses.textpad import Textbox
from dataclasses import dataclass
from types import FrameType, TracebackType
from typing import Any, Optional, Tuple, TYPE_CHECKING, Literal
from typing import Callable
@ -111,7 +112,7 @@ class AbstractViewport:
def __init__(self) -> None:
pass
def add_str(self, screen: Any, row: int, col: int, text: str, color: STYLE):
def add_str(self, screen: Any, row: int, col: int, text: str, color: STYLE) -> None:
try:
screen.addstr(row, col, text, Tui.t().get_color(color))
except curses.error:
@ -204,7 +205,7 @@ class AbstractViewport:
dim: _FrameDim,
h_bar: str,
scroll_pct: Optional[int] = None
):
) -> ViewportEntry:
if scroll_pct is None:
bottom = Chars.Lower_left + h_bar + Chars.Lower_right
else:
@ -427,7 +428,7 @@ class Viewport(AbstractViewport):
self._state: Optional[ViewportState] = None
def getch(self):
def getch(self) -> int:
return self._main_win.getch()
def erase(self) -> None:
@ -439,7 +440,7 @@ class Viewport(AbstractViewport):
lines: list[ViewportEntry],
cur_pos: int = 0,
scroll_pos: Optional[int] = None
):
) -> None:
self._state = self._get_viewport_state(lines, cur_pos, scroll_pos)
visible_entries = self._adjust_entries_row(self._state.displayed_entries)
@ -669,7 +670,7 @@ class EditMenu(AbstractCurses):
self._clear_all()
return result
def resize_win(self):
def resize_win(self) -> None:
self._draw()
def _clear_all(self) -> None:
@ -918,7 +919,7 @@ class SelectMenu(AbstractCurses):
return []
def _init_viewports(self, arg_prev_size: float | Literal['auto']):
def _init_viewports(self, arg_prev_size: float | Literal['auto']) -> None:
footer_height = 2 # possible filter at the bottom
y_offset = 0
@ -1195,7 +1196,7 @@ class SelectMenu(AbstractCurses):
self._preview_vp.update(entries, scroll_pos=self._prev_scroll_pos)
def _calc_prev_scroll_pos(self, entries: list[ViewportEntry]):
def _calc_prev_scroll_pos(self, entries: list[ViewportEntry]) -> None:
total_rows = max([e.row for e in entries]) + 1 # rows start with 0 and we need the count
if self._prev_scroll_pos >= total_rows:
@ -1357,12 +1358,12 @@ class SelectMenu(AbstractCurses):
class Tui:
_t: Optional['Tui'] = None
def __enter__(self):
def __enter__(self) -> None:
if Tui._t is None:
tui = self.init()
Tui._t = tui
def __exit__(self, exc_type, exc_val, tb):
def __exit__(self, exc_type: type[BaseException] | None, exc_val: BaseException | None, tb: TracebackType | None) -> None:
self.stop()
@property
@ -1463,7 +1464,7 @@ class Tui:
tui.screen.clear()
return Tui.t()._main_loop(component)
def _sig_win_resize(self, signum: int, frame) -> None:
def _sig_win_resize(self, signum: int, frame: FrameType | None) -> None:
if hasattr(self, '_component') and self._component is not None: # pylint: disable=E1101
self._component.resize_win() # pylint: disable=E1101
@ -1471,7 +1472,7 @@ class Tui:
self._screen.refresh()
return component.kickoff(self._screen)
def _reset_terminal(self):
def _reset_terminal(self) -> None:
os.system("reset")
def _set_up_colors(self) -> None:

View File

@ -73,7 +73,7 @@ class MenuItemGroup:
_filter_pattern: str = ''
def __post_init__(self):
def __post_init__(self) -> None:
if len(self.menu_items) < 1:
raise ValueError('Menu must have at least one item')
@ -207,7 +207,7 @@ class MenuItemGroup:
self._filter_pattern = pattern
self.reload_focus_itme()
def append_filter(self, pattern: str):
def append_filter(self, pattern: str) -> None:
self._filter_pattern += pattern
self.reload_focus_itme()
@ -274,7 +274,7 @@ class MenuItemGroup:
if last_item:
self.focus_item = last_item
def focus_prev(self, skip_empty: bool = True):
def focus_prev(self, skip_empty: bool = True) -> None:
items = self.items
if self.focus_item not in items:
@ -288,7 +288,7 @@ class MenuItemGroup:
if self.focus_item.is_empty() and skip_empty:
self.focus_prev(skip_empty)
def focus_next(self, skip_empty: bool = True):
def focus_next(self, skip_empty: bool = True) -> None:
items = self.items
if self.focus_item not in items: