eric6/QScintilla/Exporters/__init__.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/QScintilla/Exporters/__init__.py	Sun Apr 14 15:09:21 2019 +0200
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2007 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing exporters for various file formats.
+"""
+
+from __future__ import unicode_literals
+
+from PyQt5.QtCore import QCoreApplication
+
+
+def getSupportedFormats():
+    """
+    Module function to get a dictionary of supported exporters.
+    
+    @return dictionary of supported exporters. The keys are the
+        internal format names. The items are the display strings
+        for the exporters (string)
+    """
+    supportedFormats = {
+        "HTML": QCoreApplication.translate('Exporters', "HTML"),
+        "RTF": QCoreApplication.translate('Exporters', "RTF"),
+        "PDF": QCoreApplication.translate('Exporters', "PDF"),
+        "TeX": QCoreApplication.translate('Exporters', "TeX"),
+        "ODT": QCoreApplication.translate('Exporters', "ODT"),
+    }
+    
+    return supportedFormats
+
+
+def getExporter(exporterFormat, editor):
+    """
+    Module function to instantiate an exporter object for a given format.
+    
+    @param exporterFormat format of the exporter (string)
+    @param editor reference to the editor object (QScintilla.Editor.Editor)
+    @return reference to the instanciated exporter object
+        (QScintilla.Exporter.Exporter)
+    """
+    try:
+        if exporterFormat == "HTML":
+            from .ExporterHTML import ExporterHTML
+            return ExporterHTML(editor)
+        elif exporterFormat == "PDF":
+            from .ExporterPDF import ExporterPDF
+            return ExporterPDF(editor)
+        elif exporterFormat == "RTF":
+            from .ExporterRTF import ExporterRTF
+            return ExporterRTF(editor)
+        elif exporterFormat == "TeX":
+            from .ExporterTEX import ExporterTEX
+            return ExporterTEX(editor)
+        elif exporterFormat == "ODT":
+            from .ExporterODT import ExporterODT
+            return ExporterODT(editor)
+    except ImportError:
+        return None

eric ide

mercurial