mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-20 04:58:32 +02:00
implement PrettyExporter
This commit is contained in:
parent
2f25e5cd12
commit
927530c057
3 changed files with 18 additions and 4 deletions
|
@ -10,7 +10,7 @@ from .markdown_exporter import MarkdownExporter
|
||||||
from .tag_exporter import TagExporter
|
from .tag_exporter import TagExporter
|
||||||
from .dates_exporter import DatesExporter
|
from .dates_exporter import DatesExporter
|
||||||
from .template_exporter import __all__ as template_exporters
|
from .template_exporter import __all__ as template_exporters
|
||||||
from .text_exporter import TextExporter
|
from .text_exporter import TextExporter, PrettyExporter
|
||||||
from .xml_exporter import XMLExporter
|
from .xml_exporter import XMLExporter
|
||||||
from .yaml_exporter import YAMLExporter
|
from .yaml_exporter import YAMLExporter
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ __exporters = [
|
||||||
XMLExporter,
|
XMLExporter,
|
||||||
YAMLExporter,
|
YAMLExporter,
|
||||||
FancyExporter,
|
FancyExporter,
|
||||||
|
PrettyExporter
|
||||||
] + template_exporters
|
] + template_exporters
|
||||||
__importers = [JRNLImporter]
|
__importers = [JRNLImporter]
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import unicodedata
|
||||||
|
|
||||||
from jrnl.color import ERROR_COLOR
|
from jrnl.color import ERROR_COLOR
|
||||||
from jrnl.color import RESET_COLOR
|
from jrnl.color import RESET_COLOR
|
||||||
|
from jrnl.Entry import Entry
|
||||||
|
|
||||||
class TextExporter:
|
class TextExporter:
|
||||||
"""This Exporter can convert entries and journals into text files."""
|
"""This Exporter can convert entries and journals into text files."""
|
||||||
|
@ -77,3 +77,10 @@ class TextExporter:
|
||||||
return cls.write_file(journal, output)
|
return cls.write_file(journal, output)
|
||||||
else:
|
else:
|
||||||
return cls.export_journal(journal)
|
return cls.export_journal(journal)
|
||||||
|
|
||||||
|
|
||||||
|
class PrettyExporter(TextExporter):
|
||||||
|
names = ["pretty"]
|
||||||
|
@classmethod
|
||||||
|
def export_entry(cls, entry: Entry):
|
||||||
|
return entry.pprint()
|
|
@ -116,8 +116,14 @@ def test_not_interspersed():
|
||||||
assert cli_as_dict("two -not one two -not three two") == result
|
assert cli_as_dict("two -not one two -not three two") == result
|
||||||
|
|
||||||
|
|
||||||
def test_export_alone():
|
@pytest.mark.parametrize(
|
||||||
assert cli_as_dict("--export json") == expected_args(export="json")
|
"export_formats",
|
||||||
|
[
|
||||||
|
"fancy","pretty","json","markdown","xml","txt"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
def test_export_alone(export_formats):
|
||||||
|
assert cli_as_dict("--export %s"%export_formats) == expected_args(export=export_formats)
|
||||||
|
|
||||||
|
|
||||||
def test_import_alone():
|
def test_import_alone():
|
||||||
|
|
Loading…
Add table
Reference in a new issue