From 5741c572f04f74a0cc37aa096c90ea021d23103a Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Thu, 27 Mar 2025 14:47:43 -0700 Subject: [PATCH] some fixes --- notifications_utils/markdown.py | 25 +++++++++++----------- tests/notifications_utils/test_markdown.py | 5 ++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/notifications_utils/markdown.py b/notifications_utils/markdown.py index 53973110b..43e7059b2 100644 --- a/notifications_utils/markdown.py +++ b/notifications_utils/markdown.py @@ -127,15 +127,6 @@ class EmailRenderer(mistune.HTMLRenderer): class PlainTextRenderer(mistune.HTMLRenderer): COLUMN_WIDTH = 65 - def table(self, header, body): - return "" - - def table_row(self, content): - return "" - - def table_cell(self, content, **kwargs): - return "" - def heading(self, text, level): if level == 1: return f"\n\n\n{text}\n{'-' * self.COLUMN_WIDTH}" @@ -159,9 +150,17 @@ class PlainTextRenderer(mistune.HTMLRenderer): return "\n" def list(self, text, ordered, level=None, **kwargs): + + if ordered is True: + text = text.replace("•", "1.", 1) + text = text.replace("•", "2.", 1) + text = text.replace("•", "3.", 1) + + # print(f"LIST ordered={ordered} text={text}") return f"\n{text}" - def list_item(self, text, level=None): + def list_item(self, text, ordered=None, level=None): + # print(f"LIST ITEM = {text} ordered={ordered} level {level}") return f"\n• {text.strip()}" def link(self, link=None, text=None, title=None, url=None, **kwargs): @@ -194,13 +193,14 @@ class PlainTextRenderer(mistune.HTMLRenderer): class PreheaderRenderer(PlainTextRenderer): + def heading(self, text, level): - return self.paragraph(text) + return html.unescape(self.paragraph(text)) def thematic_break(self): return "" - def link(self, link, text=None, title=None): + def link(self, link, text=None, title=None, url=None): return text or link def image(self, src, alt="", title=None, url=None): @@ -273,6 +273,7 @@ _notify_plain_text_email_markdown = mistune.create_markdown( def notify_email_markdown(text): + text = escape_plus_lists(text) return _notify_email_markdown(autolinkify(text)) diff --git a/tests/notifications_utils/test_markdown.py b/tests/notifications_utils/test_markdown.py index 1646e8e29..cf7ad1552 100644 --- a/tests/notifications_utils/test_markdown.py +++ b/tests/notifications_utils/test_markdown.py @@ -373,9 +373,8 @@ def test_unordered_list(markdown, markdown_function, expected): ( notify_email_markdown, ( - '

+ one

' - '

+ two

' - '

+ three

' + '

+ one
+ two
+ three

' ), ), (