38 lines
807 B
Python
Raw Normal View History

2024-04-09 12:21:03 +02:00
import mistune
import html2markdown
2023-02-03 15:21:59 +01:00
2024-04-09 12:21:03 +02:00
class FormattedText:
html = ""
2023-02-03 15:21:59 +01:00
def __init__(
self,
markdown: str = None,
html: str = None
) -> None:
2024-04-09 12:21:03 +02:00
if html is not None:
self.html = html
elif markdown is not None:
self.html = mistune.markdown(markdown)
2023-03-13 14:28:28 +01:00
@property
def is_empty(self) -> bool:
2024-04-10 18:18:52 +02:00
return self.html == ""
def __eq__(self, other) -> False:
if type(other) != type(self):
return False
if self.is_empty and other.is_empty:
return True
return self.doc == other.doc
2024-04-09 12:21:03 +02:00
@property
def markdown(self) -> str:
return html2markdown.convert(self.html)
2024-04-09 12:21:03 +02:00
def __str__(self) -> str:
return self.markdown
2024-04-09 12:21:03 +02:00
plaintext = markdown