src/eric7/QScintilla/Exporters/__init__.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8881
54e42bc2437a
child 9221
bf71ee032bb4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/QScintilla/Exporters/__init__.py	Thu Jul 07 11:23:56 2022 +0200
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing exporters for various file formats.
+"""
+
+from PyQt6.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