mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-17 03:28:31 +02:00
Call export_journal
before opening file handle
This commit is contained in:
parent
057f31407a
commit
53e7be72de
2 changed files with 34 additions and 10 deletions
|
@ -31,8 +31,9 @@ class TextExporter:
|
||||||
@classmethod
|
@classmethod
|
||||||
def write_file(cls, journal, path):
|
def write_file(cls, journal, path):
|
||||||
"""Exports a journal into a single file."""
|
"""Exports a journal into a single file."""
|
||||||
|
export_str = cls.export_journal(journal)
|
||||||
with open(path, "w", encoding="utf-8") as f:
|
with open(path, "w", encoding="utf-8") as f:
|
||||||
f.write(cls.export_journal(journal))
|
f.write(export_str)
|
||||||
print_msg(
|
print_msg(
|
||||||
Message(
|
Message(
|
||||||
MsgText.JournalExportedTo,
|
MsgText.JournalExportedTo,
|
||||||
|
|
|
@ -1,10 +1,16 @@
|
||||||
# Copyright © 2012-2022 jrnl contributors
|
# Copyright © 2012-2022 jrnl contributors
|
||||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
from jrnl.exception import JrnlException
|
from jrnl.exception import JrnlException
|
||||||
|
from jrnl.Journal import PlainJournal
|
||||||
from jrnl.plugins.fancy_exporter import check_provided_linewrap_viability
|
from jrnl.plugins.fancy_exporter import check_provided_linewrap_viability
|
||||||
|
from jrnl.plugins.text_exporter import TextExporter
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
|
@ -12,6 +18,14 @@ def datestr():
|
||||||
yield "2020-10-20 16:59"
|
yield "2020-10-20 16:59"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture()
|
||||||
|
def simple_journal():
|
||||||
|
with open("tests/data/configs/simple.yaml") as f:
|
||||||
|
yaml = YAML(typ="safe")
|
||||||
|
config = yaml.load(f)
|
||||||
|
return PlainJournal("simple_journal", **config).open()
|
||||||
|
|
||||||
|
|
||||||
def build_card_header(datestr):
|
def build_card_header(datestr):
|
||||||
top_left_corner = "┎─╮"
|
top_left_corner = "┎─╮"
|
||||||
content = top_left_corner + datestr
|
content = top_left_corner + datestr
|
||||||
|
@ -28,3 +42,12 @@ class TestFancy:
|
||||||
|
|
||||||
with pytest.raises(JrnlException):
|
with pytest.raises(JrnlException):
|
||||||
check_provided_linewrap_viability(total_linewrap, [content], journal)
|
check_provided_linewrap_viability(total_linewrap, [content], journal)
|
||||||
|
|
||||||
|
|
||||||
|
class TestYaml:
|
||||||
|
def test_export_to_nonexisting_folder(self, simple_journal):
|
||||||
|
with TemporaryDirectory() as tmpdir:
|
||||||
|
p = Path(tmpdir / "non_existing_folder")
|
||||||
|
with pytest.raises(JrnlException):
|
||||||
|
TextExporter.write_file(simple_journal, p)
|
||||||
|
assert not p.exists()
|
||||||
|
|
Loading…
Add table
Reference in a new issue