diff --git a/jrnl/jrnl.py b/jrnl/jrnl.py index e4cbe7f0..388dffec 100644 --- a/jrnl/jrnl.py +++ b/jrnl/jrnl.py @@ -1,13 +1,12 @@ # Copyright (C) 2012-2021 jrnl contributors # License: https://www.gnu.org/licenses/gpl-3.0.html -from argparse import Namespace import logging import sys from . import install from . import plugins -from .Journal import Journal, open_journal +from .Journal import open_journal from .color import ERROR_COLOR from .color import RESET_COLOR from .config import get_journal_name @@ -327,8 +326,8 @@ def _display_search_results(args, journal, **kwargs): print(plugins.get_exporter("tags").export(journal)) elif args.export: - _export_journal(args, journal) - + exporter = plugins.get_exporter(args.export) + print(exporter.export(journal, args.filename)) elif kwargs["config"].get("display_format"): exporter = plugins.get_exporter(kwargs["config"]["display_format"]) print(exporter.export(journal, args.filename)) diff --git a/tests/test_display.py b/tests/test_display.py index 95d8606a..72a9c451 100644 --- a/tests/test_display.py +++ b/tests/test_display.py @@ -2,12 +2,12 @@ import argparse import jrnl import pytest from unittest import mock -from jrnl.jrnl import _display_search_results, _export_journal +from jrnl.jrnl import _display_search_results # fmt: off # see: https://github.com/psf/black/issues/664 -@pytest.mark.parametrize("export_format", [ "pretty", "short",]) +@pytest.mark.parametrize("export_format", [ "pretty", "short","markdown"]) #fmt: on @mock.patch.object(argparse, "Namespace", return_value={"export": "markdown", "filename": "irrele.vant"}) def test_export_format(mock_args, export_format): @@ -21,22 +21,3 @@ def test_export_format(mock_args, export_format): _display_search_results(mock_args, test_journal) mock_spy_print.assert_called_once_with(mock_pprint()) #fmt: on - - -@mock.patch.object(argparse, "Namespace", return_value={"export": "markdown", "filename": "foo.jrnl"}) -def test_export_plugin(mock_args): - export_format = mock_args.return_value["export"] - - test_journal = jrnl.Journal.Journal - mock_args.export = export_format - mock_args.filename = mock_args.return_value['filename'] - - # fmt: off - # see: https://github.com/psf/black/issues/664 - with mock.patch("builtins.print") as print_spy, \ - mock.patch("jrnl.plugins.get_exporter") as mock_get_exporter, \ - mock.patch("jrnl.Journal.Journal.pprint") : - _export_journal(mock_args, test_journal) - # fmt: on - mock_get_exporter.assert_called_once_with(export_format) - print_spy.assert_called_once_with(mock_get_exporter().export(test_journal,mock_args.filename))