retronews

a featureful fork of the luke8086/retronews hn+lobste.rs tui
Log | Files | Refs | README | LICENSE

commit e1aed73bfb314393cf62b4c24f2e0e616bed0155
parent 7e99a4803d7e4ada8d8b8d0986afcba6f2816d42
Author: luke8086 <55237178+luke8086@users.noreply.github.com>
Date:   Thu,  4 Aug 2022 21:47:30 +0000

Improve type hints of list_get()

Diffstat:
Mretronews.py | 14++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/retronews.py b/retronews.py @@ -32,6 +32,7 @@ from typing import ( TypeVar, Union, cast, + overload, ) KEY_BINDINGS: dict[int, Callable[["AppState"], None]] = { @@ -349,7 +350,17 @@ def fetch(url: str) -> str: return resp +@overload +def list_get(lst: list[T], index: int, default: T) -> T: + ... + + +@overload def list_get(lst: list[T], index: int, default: Optional[T] = None) -> Optional[T]: + ... + + +def list_get(lst, index, default=None): return lst[index] if 0 <= index < len(lst) else default @@ -999,8 +1010,7 @@ def app_render_pager(app: AppState) -> None: return for i in range(height): - line = list_get(message.lines, i + app.pager_offset) - line = "~" if line is None else line + line = list_get(message.lines, i + app.pager_offset, "~") app_render_pager_line(app, i + start, line)