mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-06-03 03:24:35 +12:00
92 lines
2.2 KiB
Python
92 lines
2.2 KiB
Python
#!/usr/bin/env python
|
|
# --!-- coding: utf8 --!--
|
|
|
|
from manuskript.importer.abstractImporter import abstractImporter
|
|
from manuskript.exporter.pandoc import pandocExporter
|
|
from manuskript.importer.opmlImporter import opmlImporter
|
|
|
|
class pandocImporter(abstractImporter):
|
|
|
|
formatFrom = ""
|
|
|
|
@classmethod
|
|
def isValid(cls):
|
|
return pandocExporter().isValid()
|
|
|
|
@classmethod
|
|
def startImport(cls, filePath, parentItem, settingsWidget):
|
|
|
|
# pandoc --from=markdown filename --to=opml --standalone
|
|
args = [
|
|
"--from={}".format(cls.formatFrom),
|
|
filePath,
|
|
"--to=opml",
|
|
"--standalone"
|
|
]
|
|
|
|
r = pandocExporter().run(args)
|
|
|
|
return opmlImporter.startImport("", parentItem,
|
|
settingsWidget, fromString=r)
|
|
|
|
|
|
class markdownPandocImporter(pandocImporter):
|
|
|
|
name = "Markdown (pandoc)"
|
|
description = "Markdown, using pandoc"
|
|
fileFormat = "Markdown files (*.md *.txt *)"
|
|
icon = "text-x-markdown"
|
|
formatFrom = "markdown"
|
|
|
|
class ePubPandocImporter(pandocImporter):
|
|
|
|
name = "ePub (pandoc)"
|
|
description = ""
|
|
fileFormat = "ePub files (*.epub)"
|
|
icon = "application-epub+zip"
|
|
formatFrom = "epub"
|
|
|
|
class docXPandocImporter(pandocImporter):
|
|
|
|
name = "DocX (pandoc)"
|
|
description = ""
|
|
fileFormat = "DocX files (*.docx)"
|
|
icon = "application-vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
formatFrom = "docx"
|
|
|
|
class odtPandocImporter(pandocImporter):
|
|
|
|
name = "ODT (pandoc)"
|
|
description = ""
|
|
fileFormat = "Open Document files (*.odt)"
|
|
icon = "application-vnd.oasis.opendocument.text"
|
|
formatFrom = "odt"
|
|
|
|
class rstPandocImporter(pandocImporter):
|
|
|
|
name = "reStructuredText (pandoc)"
|
|
description = ""
|
|
fileFormat = "reStructuredText files (*.rst)"
|
|
icon = "text-plain"
|
|
formatFrom = "rst"
|
|
|
|
class HTMLPandocImporter(pandocImporter):
|
|
|
|
name = "HTML (pandoc)"
|
|
description = ""
|
|
fileFormat = "HTML files (*.htm *.html)"
|
|
icon = "text-html"
|
|
formatFrom = "html"
|
|
|
|
class LaTeXPandocImporter(pandocImporter):
|
|
|
|
name = "LaTeX (pandoc)"
|
|
description = ""
|
|
fileFormat = "LaTeX files (*.tex)"
|
|
icon = "text-x-tex"
|
|
formatFrom = "latex"
|
|
|
|
|
|
|
|
|