jrnl/jrnl/plugins/jrnl_importer.py
2019-10-30 22:56:17 +01:00

30 lines
969 B
Python

#!/usr/bin/env python
# encoding: utf-8
import codecs
import sys
from .. import util
class JRNLImporter:
"""This plugin imports entries from other jrnl files."""
names = ["jrnl"]
@staticmethod
def import_(journal, input=None):
"""Imports from an existing file if input is specified, and
standard input otherwise."""
old_cnt = len(journal.entries)
old_entries = journal.entries
if input:
with codecs.open(input, "r", "utf-8") as f:
other_journal_txt = f.read()
else:
try:
other_journal_txt = sys.stdin.read()
except KeyboardInterrupt:
print("[Entries NOT imported into journal.]", file=sys.stderr)
sys.exit(0)
journal.import_(other_journal_txt)
new_cnt = len(journal.entries)
print("[{0} imported to {1} journal]".format(new_cnt - old_cnt, journal.name))
journal.write()