retronews

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

commit da6e1adfea66b036e37c7016be77ae7488bbd001
parent 4e591576e6073c27360a5b3de9324e87fc9cdcc6
Author: luke8086 <55237178+luke8086@users.noreply.github.com>
Date:   Tue,  2 Aug 2022 18:20:10 +0000

Improve readability of html in the raw mode

Diffstat:
Mretronews.py | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/retronews.py b/retronews.py @@ -564,6 +564,17 @@ def msg_flatten_thread(msg: Message, prefix: str = "", is_last_child: bool = Fal yield child +def msg_build_raw_lines(msg: Message) -> list[str]: + text = msg.body or "" + + # Unescape selected entities for better readability + repl = {"&#x2F;": "/", "&#x27;": "'", "&quot;": '"'} + for k, v in repl.items(): + text = text.replace(k, v) + + return reduce(lambda acc, line: acc + wrap(line, width=120, replace_whitespace=False), text.split("\n"), []) + + def msg_build_lines(msg: Message) -> list[str]: lines = [ f"Content-Location: {msg.content_location}", @@ -711,7 +722,7 @@ def app_select_message(app: AppState, message: Optional[Message], show_pager: bo app.pager_visible = False return - message.lines = wrap(message.body) if app.raw_mode else msg_build_lines(message) + message.lines = msg_build_raw_lines(message) if app.raw_mode else msg_build_lines(message) if show_pager: app.pager_visible = True