|
|
|
@ -219,7 +219,7 @@ class Mailer(object): |
|
|
|
|
if msgformat == "org.matrix.custom.html": |
|
|
|
|
ret["body_text_html"] = safe_markup(event.content["formatted_body"]) |
|
|
|
|
else: |
|
|
|
|
ret["body_text_plain"] = event.content["body"] |
|
|
|
|
ret["body_text_html"] = safe_text(event.content["body"]) |
|
|
|
|
|
|
|
|
|
return ret |
|
|
|
|
|
|
|
|
@ -301,6 +301,17 @@ def safe_markup(raw_html): |
|
|
|
|
))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def safe_text(raw_text): |
|
|
|
|
""" |
|
|
|
|
Process text: treat it as HTML but escape any tags (ie. just escape the |
|
|
|
|
HTML) then linkify it. |
|
|
|
|
""" |
|
|
|
|
return jinja2.Markup(bleach.linkify(bleach.clean( |
|
|
|
|
raw_text, tags=[], attributes={}, |
|
|
|
|
strip=False |
|
|
|
|
))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def deduped_ordered_list(l): |
|
|
|
|
seen = set() |
|
|
|
|
ret = [] |
|
|
|
|