diff --git a/jrnl/__init__.py b/jrnl/__init__.py index 796c58c4..26ab08e7 100644 --- a/jrnl/__init__.py +++ b/jrnl/__init__.py @@ -8,7 +8,7 @@ jrnl is a simple journal application for your command line. from __future__ import absolute_import __title__ = 'jrnl' -__version__ = '2.0.0-rc1' +__version__ = '2.0.0-rc2' __author__ = 'Manuel Ebert' __license__ = 'MIT License' -__copyright__ = 'Copyright 2013 - 2015 Manuel Ebert' +__copyright__ = 'Copyright 2012 - 2016 Manuel Ebert' diff --git a/jrnl/export.py b/jrnl/export.py deleted file mode 100644 index d4873314..00000000 --- a/jrnl/export.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 - -from __future__ import absolute_import, unicode_literals -from .util import ERROR_COLOR, RESET_COLOR -from .util import slugify, u -from .template import Template -import os -import codecs - - -class Exporter(object): - """This Exporter can convert entries and journals into text files.""" - def __init__(self, format): - with open("jrnl/templates/" + format + ".template") as f: - front_matter, body = f.read().strip("-\n").split("---", 2) - self.template = Template(body) - - def export_entry(self, entry): - """Returns a unicode representation of a single entry.""" - return entry.__unicode__() - - def _get_vars(self, journal): - return { - 'journal': journal, - 'entries': journal.entries, - 'tags': journal.tags - } - - def export_journal(self, journal): - """Returns a unicode representation of an entire journal.""" - return self.template.render_block("journal", **self._get_vars(journal)) - - def write_file(self, journal, path): - """Exports a journal into a single file.""" - try: - with codecs.open(path, "w", "utf-8") as f: - f.write(self.export_journal(journal)) - return "[Journal exported to {0}]".format(path) - except IOError as e: - return "[{2}ERROR{3}: {0} {1}]".format(e.filename, e.strerror, ERROR_COLOR, RESET_COLOR) - - def make_filename(self, entry): - return entry.date.strftime("%Y-%m-%d_{0}.{1}".format(slugify(u(entry.title)), self.extension)) - - def write_files(self, journal, path): - """Exports a journal into individual files for each entry.""" - for entry in journal.entries: - try: - full_path = os.path.join(path, self.make_filename(entry)) - with codecs.open(full_path, "w", "utf-8") as f: - f.write(self.export_entry(entry)) - except IOError as e: - return "[{2}ERROR{3}: {0} {1}]".format(e.filename, e.strerror, ERROR_COLOR, RESET_COLOR) - return "[Journal exported to {0}]".format(path) - - def export(self, journal, format="text", output=None): - """Exports to individual files if output is an existing path, or into - a single file if output is a file name, or returns the exporter's - representation as unicode if output is None.""" - if output and os.path.isdir(output): # multiple files - return self.write_files(journal, output) - elif output: # single file - return self.write_file(journal, output) - else: - return self.export_journal(journal) diff --git a/jrnl/install.py b/jrnl/install.py index 7cc8f880..72c7a462 100644 --- a/jrnl/install.py +++ b/jrnl/install.py @@ -48,6 +48,7 @@ default_config = { 'editor': os.getenv('VISUAL') or os.getenv('EDITOR') or "", 'encrypt': False, 'template': False, + 'plugin_path': os.path.join(CONFIG_PATH, 'plugins'), 'default_hour': 9, 'default_minute': 0, 'timeformat': "%Y-%m-%d %H:%M", diff --git a/jrnl/templates/sample.template b/jrnl/templates/sample.template deleted file mode 100644 index 983d6af3..00000000 --- a/jrnl/templates/sample.template +++ /dev/null @@ -1,18 +0,0 @@ ---- -extension: txt ---- - -{% block journal %} -{% for entry in entries %} -{% include entry %} -{% endfor %} - -{% endblock %} - -{% block entry %} -{{ entry.title }} -{{ "-" * len(entry.title) }} - -{{ entry.body }} - -{% endblock %} diff --git a/setup.py b/setup.py index f6097064..539b2cb2 100644 --- a/setup.py +++ b/setup.py @@ -83,7 +83,7 @@ setup( "parsedatetime>=1.5", "pytz>=2015.7", "six>=1.10.0", - "cryptography==1.4", + "cryptography>=1.8", "tzlocal>=1.2", "pyyaml>=3.11", "keyring>=7.3",