manuskript/manuskript/importer/pandocImporters.py
2017-11-07 20:30:39 +01:00

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"