Revert "Gets rid of colorama"

This reverts commit fcd8c4d214.
We need colorama for Windows.

Conflicts:
	setup.py
This commit is contained in:
William Minchin 2014-01-02 17:05:00 -07:00
parent b050f2b030
commit 419b2cb1a8
7 changed files with 21 additions and 8 deletions

View file

@ -4,7 +4,6 @@ Changelog
### 1.7 (December 22, 2013)
* __1.7.4__ Gets rid of colorama.
* __1.7.3__ Touches temporary files before opening them to allow more external editors.
* __1.7.2__ Dateutil added to requirements.
* __1.7.1__ Fixes issues with parsing time information in entries.

View file

@ -21,6 +21,11 @@ try:
except ImportError:
crypto_installed = False
import hashlib
try:
import colorama
colorama.init()
except ImportError:
colorama = None
import plistlib
import pytz
import uuid
@ -52,6 +57,12 @@ class Journal(object):
"""Returns the number of entries"""
return len(self.entries)
def _colorize(self, string):
if colorama:
return colorama.Fore.CYAN + string + colorama.Fore.RESET
else:
return string
def _decrypt(self, cipher):
"""Decrypts a cipher string using self.key as the key and the first 16 byte of the cipher as the IV"""
if not crypto_installed:
@ -163,11 +174,11 @@ class Journal(object):
for tag in self.search_tags:
tagre = re.compile(re.escape(tag), re.IGNORECASE)
pp = re.sub(tagre,
lambda match: util.colorize(match.group(0)),
lambda match: self._colorize(match.group(0)),
pp, re.UNICODE)
else:
pp = re.sub(r"(?u)([{tags}]\w+)".format(tags=self.config['tagsymbols']),
lambda match: util.colorize(match.group(0)),
lambda match: self._colorize(match.group(0)),
pp)
return pp

View file

@ -7,7 +7,7 @@ jrnl is a simple journal application for your command line.
"""
__title__ = 'jrnl'
__version__ = '1.7.4'
__version__ = '1.7.3'
__author__ = 'Manuel Ebert'
__license__ = 'MIT License'
__copyright__ = 'Copyright 2013 Manuel Ebert'

View file

@ -82,6 +82,11 @@ def install_jrnl(config_path='~/.jrnl_config'):
password = None
print("PyCrypto not found. To encrypt your journal, install the PyCrypto package from http://www.pycrypto.org or with 'pip install pycrypto' and run 'jrnl --encrypt'. For now, your journal will be stored in plain text.")
# Use highlighting:
if not module_exists("colorama"):
print("colorama not found. To turn on highlighting, install colorama and set highlight to true in your .jrnl_conf.")
default_config['highlight'] = False
open(default_config['journals']['default'], 'a').close() # Touch to make sure it's there
# Write config to ~/.jrnl_conf

View file

@ -139,7 +139,3 @@ def get_text_from_editor(config, template=""):
prompt('[Nothing saved to file]')
return raw
def colorize(string):
"""Returns the string wrapped in cyan ANSI escape"""
return u"\033[36m{}\033[39m".format(string)

View file

@ -1,5 +1,6 @@
parsedatetime >= 1.1.2
pytz >= 2013b
colorama >= 0.2.5
pycrypto >= 2.6
argparse==1.2.1
tzlocal == 1.0

View file

@ -75,6 +75,7 @@ setup(
"slugify>=0.0.1",
"keyring>=3.3",
"python-dateutil>=2.2"
"colorama>=0.2.5",
] + [p for p, cond in conditional_dependencies.items() if cond],
extras_require = {
"encrypted": "pycrypto>=2.6"