SYMBOL INDEX (128 symbols across 2 files) FILE: retronews.py class ExitException (line 170) | class ExitException(Exception): method __init__ (line 174) | def __init__(self, code: int = 0, message: str = ""): class Provider (line 182) | class Provider: class Group (line 200) | class Group: class MessageFlags (line 218) | class MessageFlags: class Message (line 224) | class Message: method is_read (line 242) | def is_read(self) -> bool: method is_shown_as_read (line 246) | def is_shown_as_read(self) -> bool: method is_thread (line 251) | def is_thread(self) -> bool: method is_deleted (line 255) | def is_deleted(self) -> bool: class Layout (line 260) | class Layout: class AppState (line 274) | class AppState: class HNSearchHit (line 292) | class HNSearchHit(TypedDict): class HNEntry (line 302) | class HNEntry(TypedDict): class LBThread (line 314) | class LBThread(TypedDict): class LBComment (line 326) | class LBComment(TypedDict): class HTMLNode (line 341) | class HTMLNode: class HTMLParser (line 357) | class HTMLParser(html.parser.HTMLParser): method __init__ (line 362) | def __init__(self): method handle_data (line 367) | def handle_data(self, data: str) -> None: method handle_starttag (line 374) | def handle_starttag(self, tag: str, attrs: list[tuple[str, Optional[st... method handle_endtag (line 388) | def handle_endtag(self, tag: str) -> None: function text_wrap (line 407) | def text_wrap(text: str, width=70) -> str: function text_clean (line 432) | def text_clean(text: str, ascii: bool = False) -> str: function text_unindent (line 441) | def text_unindent(text: str) -> str: function text_sanitize (line 450) | def text_sanitize(text: Optional[str]) -> str: function text_split_urls (line 462) | def text_split_urls(text: str) -> list[str]: function html_node_children (line 466) | def html_node_children(parent: HTMLNode) -> list[HTMLNode]: function html_node_append (line 477) | def html_node_append(parent: HTMLNode, child: HTMLNode) -> None: function html_node_unlink (line 489) | def html_node_unlink(node: HTMLNode) -> None: function html_node_dump (line 505) | def html_node_dump(node: HTMLNode) -> str: function html_node_trim_whitespace (line 518) | def html_node_trim_whitespace(node: HTMLNode) -> None: function html_node_process_inline (line 531) | def html_node_process_inline(node: HTMLNode, inline=False) -> str: function html_node_process_text (line 568) | def html_node_process_text(node: HTMLNode): function html_node_render_block (line 592) | def html_node_render_block(node: HTMLNode, width=70) -> str: function html_render (line 630) | def html_render(html: str) -> str: function fetch (line 656) | def fetch(url: str) -> str: function list_get (line 667) | def list_get(lst: list[T], index: int, default: T) -> T: ... function list_get (line 671) | def list_get(lst: list[T], index: int, default: Optional[T] = None) -> O... function list_get (line 674) | def list_get(lst, index, default=None): function list_chunk (line 678) | def list_chunk(lst: list[T], size: int) -> list[list[T]]: function cmd_quit (line 683) | def cmd_quit(_: AppState): function cmd_help (line 687) | def cmd_help(app: AppState): function cmd_show_links (line 691) | def cmd_show_links(app: AppState): function cmd_up (line 695) | def cmd_up(app: AppState) -> None: function cmd_down (line 699) | def cmd_down(app: AppState) -> None: function cmd_prev (line 703) | def cmd_prev(app: AppState) -> None: function cmd_next (line 708) | def cmd_next(app: AppState) -> None: function cmd_next_unread (line 713) | def cmd_next_unread(app: AppState) -> None: function cmd_next_sibling (line 720) | def cmd_next_sibling(app: AppState) -> None: function cmd_prev_sibling (line 731) | def cmd_prev_sibling(app: AppState) -> None: function cmd_mark_thread_as_read (line 742) | def cmd_mark_thread_as_read(app: AppState) -> None: function cmd_parent (line 758) | def cmd_parent(app: AppState) -> None: function cmd_mark_set (line 763) | def cmd_mark_set(app: AppState) -> None: function cmd_mark_jump (line 769) | def cmd_mark_jump(app: AppState) -> None: function cmd_pager_up (line 777) | def cmd_pager_up(app: AppState) -> None: function cmd_pager_down (line 781) | def cmd_pager_down(app: AppState) -> None: function cmd_page_up (line 786) | def cmd_page_up(app: AppState) -> None: function cmd_page_down (line 790) | def cmd_page_down(app: AppState) -> None: function cmd_index_page_up (line 794) | def cmd_index_page_up(app: AppState) -> None: function cmd_index_page_down (line 800) | def cmd_index_page_down(app: AppState) -> None: function cmd_pager_page_up (line 806) | def cmd_pager_page_up(app: AppState) -> None: function cmd_pager_page_down (line 811) | def cmd_pager_page_down(app: AppState) -> None: function cmd_load_tab (line 816) | def cmd_load_tab(app: AppState, tab: int) -> None: function cmd_reload_page (line 821) | def cmd_reload_page(app: AppState) -> None: function cmd_load_prev_page (line 825) | def cmd_load_prev_page(app: AppState) -> None: function cmd_load_next_page (line 829) | def cmd_load_next_page(app: AppState) -> None: function cmd_load_page (line 833) | def cmd_load_page(app: AppState) -> None: function cmd_open (line 842) | def cmd_open(app: AppState) -> None: function cmd_close (line 852) | def cmd_close(app: AppState) -> None: function cmd_star (line 859) | def cmd_star(app: AppState) -> None: function cmd_star_thread (line 866) | def cmd_star_thread(app: AppState) -> None: function cmd_set_unread (line 878) | def cmd_set_unread(app: AppState) -> None: function cmd_dump (line 885) | def cmd_dump(app: AppState) -> None: function cmd_toggle_raw_mode (line 897) | def cmd_toggle_raw_mode(app: AppState) -> None: function cmd_resize (line 902) | def cmd_resize(app: AppState) -> None: function cmd_unknown (line 906) | def cmd_unknown(app: AppState) -> None: function db_init (line 910) | def db_init(path: str) -> DB: function db_save_message (line 934) | def db_save_message(db: DB, message: Message) -> None: function db_load_message_flags (line 942) | def db_load_message_flags(db: DB, messages_by_id: dict[str, Message]) ->... function db_load_read_comments (line 951) | def db_load_read_comments(db: DB, messages_by_id: dict[str, Message]) ->... function db_load_starred_thread_ids (line 966) | def db_load_starred_thread_ids(db: DB, page: int = 1) -> list[str]: function msg_flatten_thread (line 982) | def msg_flatten_thread( function msg_build_raw_lines (line 1003) | def msg_build_raw_lines(msg: Message) -> list[str]: function msg_build_lines (line 1014) | def msg_build_lines(msg: Message) -> list[str]: function msg_unload (line 1028) | def msg_unload(msg: Message) -> Message: function hn_parse_search_hit (line 1034) | def hn_parse_search_hit(hit: HNSearchHit) -> Message: function hn_parse_entry (line 1046) | def hn_parse_entry(entry: HNEntry, thread_id: str = "", parent: Optional... function hn_fetch_threads_by_id (line 1073) | def hn_fetch_threads_by_id(thread_ids: list[str]) -> list[Message]: function hn_fetch_threads (line 1083) | def hn_fetch_threads(group: str = "news", page: int = 1) -> list[Message]: function hn_fetch_new_threads (line 1092) | def hn_fetch_new_threads(page: int = 1) -> list[Message]: function hn_fetch_thread (line 1099) | def hn_fetch_thread(entry_id: Union[str, int]) -> Message: function lb_parse_thread (line 1105) | def lb_parse_thread(thread: LBThread) -> Message: function lb_fetch_threads (line 1145) | def lb_fetch_threads(group: str = "", page: int = 1) -> list[Message]: function lb_fetch_thread (line 1153) | def lb_fetch_thread(entry_id: str) -> Message: function group_set_page (line 1160) | def group_set_page(group: Group, page: int) -> Group: function group_advance_page (line 1164) | def group_advance_page(group: Group, offset: int = 1) -> Group: function group_fetch_starred_threads (line 1168) | def group_fetch_starred_threads(db: DB, page: int = 1) -> list[Message]: function group_fetch_thread (line 1185) | def group_fetch_thread(thread_id: str) -> Message: function group_for_msg_url (line 1192) | def group_for_msg_url(url: str) -> Group: function app_safe_run (line 1201) | def app_safe_run(app: AppState, fn: Callable[[], T], flash: Optional[str... function app_refresh_message (line 1219) | def app_refresh_message(app: AppState) -> None: function app_select_message (line 1227) | def app_select_message(app: AppState, message: Optional[Message], show_p... function app_load_messages (line 1245) | def app_load_messages( function app_load_group (line 1271) | def app_load_group(app: AppState, group: Group) -> None: function app_close_thread (line 1282) | def app_close_thread(app: AppState) -> None: function app_open_thread (line 1289) | def app_open_thread(app: AppState, thread_message: Message) -> None: function app_update_layout (line 1306) | def app_update_layout(app: AppState) -> None: function app_show_help_screen (line 1325) | def app_show_help_screen(app: AppState) -> None: function app_show_links_screen (line 1340) | def app_show_links_screen(app: AppState) -> None: function app_show_flash (line 1374) | def app_show_flash(app: AppState, flash: Optional[str]) -> None: function app_prompt (line 1379) | def app_prompt(app: AppState, prompt: str) -> str: function app_render_index_row (line 1398) | def app_render_index_row(app: AppState, row: int, message: Message) -> N... function app_render_index (line 1429) | def app_render_index(app: AppState) -> None: function app_get_pager_line_attr (line 1442) | def app_get_pager_line_attr(app: AppState, line: str) -> int: function app_render_pager_line (line 1465) | def app_render_pager_line(app: AppState, row: int, line: str) -> None: function app_render_pager (line 1482) | def app_render_pager(app: AppState) -> None: function app_render_top_menu (line 1495) | def app_render_top_menu(app: AppState) -> None: function app_render_middle_menu (line 1502) | def app_render_middle_menu(app: AppState) -> None: function app_render_bottom_menu (line 1527) | def app_render_bottom_menu(app: AppState) -> None: function app_render (line 1545) | def app_render(app: AppState) -> None: function app_init_colors (line 1557) | def app_init_colors(app: AppState) -> None: function app_main (line 1572) | def app_main(screen: Window, db: DB, group: Group, ascii: bool, monochro... function setup_logging (line 1587) | def setup_logging(path: Optional[str]) -> None: function run_rcfile (line 1597) | def run_rcfile(path: str) -> None: FILE: tests.py class TestHtmlRender (line 10) | class TestHtmlRender(unittest.TestCase): method checkRendering (line 13) | def checkRendering(self, name: str): function setup_test_cases (line 35) | def setup_test_cases():