manuskript/manuskript/exporter/pandoc/HTML.py
TheJackiMonster a33249fc9d
Added guard to catch errors with translation
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
2022-05-17 11:43:22 +02:00

51 lines
1.6 KiB
Python

#!/usr/bin/env python
# --!-- coding: utf8 --!--
from PyQt5.QtWidgets import qApp, QTextEdit
from PyQt5.QtCore import QUrl
from manuskript.exporter.manuskript import HTML as MskHTML
from manuskript.exporter.pandoc.abstractPlainText import abstractPlainText
from manuskript.functions import safeTranslate
import os
class HTML(abstractPlainText):
name = "HTML"
description = safeTranslate(qApp, "Export", """A little known format modestly used. You know, web sites for example.""")
icon = "text-html"
exportVarName = "lastPandocHTML"
toFormat = "html"
exportFilter = "HTML files (*.html);; Any files (*)"
exportDefaultSuffix = ".html"
requires = {
"Settings": True,
"Preview": True,
}
def previewWidget(self):
return MskHTML.previewWidget(self)
def preview(self, settingsWidget, previewWidget):
settings = settingsWidget.getSettings()
# Save settings
settingsWidget.writeSettings()
src = self.src(settingsWidget)
html = self.output(settingsWidget)
path = os.path.join(self.projectPath(), "dummy.html")
self.preparesTextEditView(previewWidget.widget(0), settings["Preview"]["PreviewFont"])
self.preparesTextEditViewMarkdown(previewWidget.widget(0), settings)
previewWidget.widget(0).setPlainText(src)
self.preparesTextEditView(previewWidget.widget(1), settings["Preview"]["PreviewFont"])
previewWidget.widget(1).setPlainText(html)
w2 = previewWidget.widget(2)
if isinstance(w2, QTextEdit):
w2.setHtml(html)
else:
w2.setHtml(html, QUrl.fromLocalFile(path))