mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-12 09:28:31 +02:00
* Remove executable permissions from non-script files * Remove harmless-but-useless shebang lines
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
# encoding: utf-8
|
|
# Copyright (C) 2012-2021 jrnl contributors
|
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
|
|
|
from .fancy_exporter import FancyExporter
|
|
from .jrnl_importer import JRNLImporter
|
|
from .json_exporter import JSONExporter
|
|
from .markdown_exporter import MarkdownExporter
|
|
from .tag_exporter import TagExporter
|
|
from .dates_exporter import DatesExporter
|
|
from .template_exporter import __all__ as template_exporters
|
|
from .text_exporter import TextExporter
|
|
from .xml_exporter import XMLExporter
|
|
from .yaml_exporter import YAMLExporter
|
|
|
|
__exporters = [
|
|
JSONExporter,
|
|
MarkdownExporter,
|
|
TagExporter,
|
|
DatesExporter,
|
|
TextExporter,
|
|
XMLExporter,
|
|
YAMLExporter,
|
|
FancyExporter,
|
|
] + template_exporters
|
|
__importers = [JRNLImporter]
|
|
|
|
__exporter_types = {name: plugin for plugin in __exporters for name in plugin.names}
|
|
__exporter_types["pretty"] = None
|
|
__exporter_types["short"] = None
|
|
__importer_types = {name: plugin for plugin in __importers for name in plugin.names}
|
|
|
|
EXPORT_FORMATS = sorted(__exporter_types.keys())
|
|
IMPORT_FORMATS = sorted(__importer_types.keys())
|
|
|
|
|
|
def get_exporter(format):
|
|
for exporter in __exporters:
|
|
if hasattr(exporter, "names") and format in exporter.names:
|
|
return exporter
|
|
return None
|
|
|
|
|
|
def get_importer(format):
|
|
for importer in __importers:
|
|
if hasattr(importer, "names") and format in importer.names:
|
|
return importer
|
|
return None
|