Skip to main content

Remember to unescape HTML entities when quoting from Mastodon

ID
ef591c9
date
2024-01-04 08:04:01+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
e994d24
message
Remember to unescape HTML entities when quoting from Mastodon
changed files
2 files, 6 additions

Changed files

textexpander/get_mastodon_text.py (2563) → textexpander/get_mastodon_text.py (2606)

diff --git a/textexpander/get_mastodon_text.py b/textexpander/get_mastodon_text.py
index 95aa657..ed499b6 100755
--- a/textexpander/get_mastodon_text.py
+++ b/textexpander/get_mastodon_text.py
@@ -5,6 +5,7 @@ as a blockquote.
 """
 
 import datetime
+import html
 import os
 import pathlib
 import re
@@ -52,6 +53,7 @@ def normalise_text(text: str) -> str:
         r"\g<url>",
         text,
     )
+    text = html.unescape(text)
     return text
 
 

textexpander/test_get_mastodon_text.py (1039) → textexpander/test_get_mastodon_text.py (1198)

diff --git a/textexpander/test_get_mastodon_text.py b/textexpander/test_get_mastodon_text.py
index 7985bee..5420b17 100644
--- a/textexpander/test_get_mastodon_text.py
+++ b/textexpander/test_get_mastodon_text.py
@@ -17,6 +17,10 @@ from get_mastodon_text import normalise_text
             '<p>my rules for git rebase</p><p>permalink: <a href="https://wizardzines.com/comics/rules-for-rebasing/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">wizardzines.com/comics/rules-f</span><span class="invisible">or-rebasing/</span></a></p>',
             "my rules for git rebase\n\npermalink: https://wizardzines.com/comics/rules-for-rebasing/",
         ),
+        (
+            "I realize it&#39;s (comparatively) super easy to set up",
+            "I realize it's (comparatively) super easy to set up",
+        ),
     ],
 )
 def test_normalise_text(input, output):