email_notifications: Give absolute path to html2text.

Our uWSGI configuration doesn’t correctly activate our virtualenv.  We
should investigate that, but until we do, we need to invoke html2text
by an absolute path.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit 7c992422f0)
This commit is contained in:
Anders Kaseorg
2022-06-30 16:21:42 -07:00
parent 3f0919cc65
commit 82adae451e

View File

@@ -2,8 +2,10 @@
import logging
import math
import os
import re
import subprocess
import sys
from collections import defaultdict
from datetime import timedelta
from email.headerregistry import Address
@@ -740,7 +742,9 @@ def enqueue_welcome_emails(user: UserProfile, realm_creation: bool = False) -> N
def convert_html_to_markdown(html: str) -> str:
# html2text is GPL licensed, so run it as a subprocess.
markdown = subprocess.check_output(["html2text"], input=html, text=True).strip()
markdown = subprocess.check_output(
[os.path.join(sys.prefix, "bin", "html2text")], input=html, text=True
).strip()
# We want images to get linked and inline previewed, but html2text will turn
# them into links of the form `![](http://foo.com/image.png)`, which is