from markdown import markdown
import html

from normalutils.choices.htmlchoices import HtmlContentType


def content_to_html(content: str, content_type=HtmlContentType.TEXT_MARKDOWN, title=None):
    if content_type == HtmlContentType.TEXT_MARKDOWN:
        content = markdown(content)
        return content
    elif content_type == HtmlContentType.TEXT_PLAIN:
        content = html.escape(content)
        content = content.split('\n')
        ret = ''
        for sentence in content:
            ret += ''.join(["<p>", sentence, "</p>\n"])
        # add title
        if title is not None:
            title = html.escape(title)
            return ''.join(['<h1>', title, '</h1>\n', ret])
        return ret