From 8e9e3ecf6935db84bbc731252f592795675de685 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sun, 27 Nov 2022 12:09:08 -0700 Subject: Some cleanup around editing --- core/html.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core') diff --git a/core/html.py b/core/html.py index 3230284..dfb7beb 100644 --- a/core/html.py +++ b/core/html.py @@ -38,3 +38,15 @@ def strip_html(post_html: str) -> str: """ cleaner = bleach.Cleaner(tags=[], strip=True, filters=[LinkifyFilter]) return mark_safe(cleaner.clean(post_html)) + + +def html_to_plaintext(post_html: str) -> str: + """ + Tries to do the inverse of the linebreaks filter. + """ + # TODO: Handle HTML entities + # Remove all newlines, then replace br with a newline and /p with two (one comes from bleach) + post_html = post_html.replace("\n", "").replace("
", "\n").replace("

", "\n") + # Remove all other HTML and return + cleaner = bleach.Cleaner(tags=[], strip=True, filters=[]) + return cleaner.clean(post_html).strip() -- cgit v1.2.3