diff --git a/src/music_kraken/database/objects/notes.py b/src/music_kraken/database/objects/notes.py new file mode 100644 index 0000000..5f101a6 --- /dev/null +++ b/src/music_kraken/database/objects/notes.py @@ -0,0 +1,117 @@ +# https://github.com/Alir3z4/html2text +import html2text + +import pandoc + +""" +>>> import html2text +>>> +>>> h = html2text.HTML2Text() +>>> # Ignore converting links from HTML +>>> h.ignore_links = True +>>> print h.handle("

Hello, world!") +Hello, world! + +>>> print(h.handle("

Hello, world!")) + +Hello, world! + +>>> # Don't Ignore links anymore, I like links +>>> h.ignore_links = False +>>> print(h.handle("

Hello, world!")) +Hello, [world](https://www.google.com/earth/)! +""" + + +class FormattedText: + _plaintext: str + _markdown: str + _html: str + + doc = None + + def __new__(cls, **kwargs): + self = object.__new__(cls) + + self._plaintext = "" + self._markdown = "" + self._html = "" + + return self + + def __init__( + self, + plaintext: str = None, + markdown: str = None, + html: str = None + ) -> None: + self.set_plaintext(plaintext) + self.set_markdown(markdown) + self.set_html(html) + + def set_plaintext(self, plaintext: str): + if plaintext is None: + return + + self._plaintext = plaintext + + def set_markdown(self, markdown: str): + if markdown is None: + return + + self._markdown = markdown + + def set_html(self, html: str): + if html is None: + return + self.doc = pandoc.read(html, format="html") + + def get_markdown(self) -> str: + if self.doc is None: + return None + return pandoc.write(self.doc, format="markdown").strip() + + def get_html(self) -> str: + if self.doc is None: + return None + return pandoc.write(self.doc, format="html").strip() + + +class NotesAttributes: + def __init__(self) -> None: + pass + +if __name__ == "__main__": + markdown = """ +# World of Work + +1. The right to help out society, and being paied for it +2. **The right to get paied, so you can get along well.** +3. The right for every individual to sell their products to provide for themselfes or for others +4. The right of fair competitions, meaning eg. no monopoles. +5. **The right for a home.** +6. **The right to good healthcare** +7. The right of protections against tragedies, be it personal ones, or global ones. +8. The right to be educated in a way that enables you to work. + +## 3 most important ones + +1. The right to get paied, so you can get along well. +2. The right for a home. +3. The right for a good healthcare. + """ + html = """ +Contact: ghostbath@live.com
+
+Although the band originally claimed that they were from Chongqing, China, it has been revealed in a 2015 interview with Noisey that they're an American band based in Minot, North Dakota.
+
+According to the band, "Ghost Bath" refers to "the act of committing suicide by submerging in a body of water."
+
+Compilation appearance(s):
+- "Luminescence" on Jericho Vol.36 - Nyctophobia (2018) [] + """ + + notes = FormattedText(html=html) + print(notes.get_html()) + print("-"*30) + print(notes.get_markdown()) \ No newline at end of file