Attempt to fix windows terminal compatibility (ping @jelloslinger). If this is working on windows, we should consider removing blessings in favor of colorama.

This commit is contained in:
Romain Dorgueil
2017-04-23 15:10:29 +02:00
parent 690ff3d108
commit 476923dc44
8 changed files with 56 additions and 68 deletions

View File

@ -1,7 +1,7 @@
# This file has been auto-generated.
# All changes will be lost, see Projectfile.
#
# Updated at 2017-04-21 10:27:25.709949
# Updated at 2017-04-23 14:52:31.862565
PYTHON ?= $(shell which python)
PYTHON_BASENAME ?= $(shell basename $(PYTHON))
@ -10,7 +10,6 @@ PYTHON_REQUIREMENTS_DEV_FILE ?= requirements-dev.txt
QUICK ?=
VIRTUAL_ENV ?= .virtualenv-$(PYTHON_BASENAME)
PIP ?= $(VIRTUAL_ENV)/bin/pip
PIP_INSTALL_OPTIONS ?=
PYTEST ?= $(VIRTUAL_ENV)/bin/pytest
PYTEST_OPTIONS ?= --capture=no --cov=bonobo --cov-report html
SPHINX_OPTS ?=
@ -25,13 +24,13 @@ YAPF_OPTIONS ?= -rip
# Installs the local project dependencies.
install: $(VIRTUAL_ENV)
if [ -z "$(QUICK)" ]; then \
$(PIP) install -U pip wheel $(PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_FILE) ; \
$(PIP) install -U pip wheel -r $(PYTHON_REQUIREMENTS_FILE) ; \
fi
# Installs the local project dependencies, including development-only libraries.
install-dev: $(VIRTUAL_ENV)
if [ -z "$(QUICK)" ]; then \
$(PIP) install -U pip wheel $(PIP_INSTALL_OPTIONS) -r $(PYTHON_REQUIREMENTS_DEV_FILE) ; \
$(PIP) install -U pip wheel -r $(PYTHON_REQUIREMENTS_DEV_FILE) ; \
fi
# Cleans up the local mess.

View File

@ -22,6 +22,7 @@ enable_features = {
install_requires = [
'blessings >=1.6,<1.7',
'colorama >=0.3,<0.4',
'psutil >=5.0,<5.1',
'requests >=2.12,<2.13',
'stevedore >=1.19,<1.20',

View File

@ -164,8 +164,7 @@ class LoopingExecutionContext(Wrapper):
:return: to hell
"""
from blessings import Terminal
term = Terminal()
from bonobo.util import terminal as term
print(term.bold(term.red('\U0001F4A3 {} in {}'.format(type(exc).__name__, self.wrapped))))
print(trace)

View File

@ -1,8 +1,6 @@
import json
import os
from blessings import Terminal
from bonobo import Tee, JsonWriter, Graph, get_examples_path
from bonobo.ext.opendatasoft import OpenDataSoftAPI
@ -15,7 +13,6 @@ API_DATASET = 'fablabs-in-the-world'
API_NETLOC = 'datanova.laposte.fr'
ROWS = 100
t = Terminal()
__path__ = os.path.dirname(__file__)

View File

@ -21,8 +21,7 @@ import blessings
import psutil
from bonobo.core.plugins import Plugin
t = blessings.Terminal()
from bonobo.util import terminal as t
@lru_cache(1)

View File

@ -3,20 +3,21 @@
import functools
from pprint import pprint as _pprint
import blessings
from .helpers import console_run, jupyter_run
from .tokens import NOT_MODIFIED
import colorama as _colorama
_colorama.init()
import blessings as _blessings
terminal = _blessings.Terminal()
__all__ = [
'Limit',
'NOT_MODIFIED',
'PrettyPrint',
'Tee',
'console_run',
'jupyter_run',
'noop',
'pprint',
'terminal',
]
@ -51,10 +52,9 @@ pprint = Tee(_pprint)
def PrettyPrint(title_keys=('title', 'name', 'id'), print_values=True, sort=True):
term = blessings.Terminal()
def _pprint(*args, **kwargs):
nonlocal title_keys, term, sort, print_values
global terminal
nonlocal title_keys, sort, print_values
row = args[0]
for key in title_keys:

View File

@ -7,6 +7,7 @@ dependencies:
- pip:
- psycopg2 >=2.6.1
- blessings >=1.6,<1.7
- colorama >=0.3,<0.4
- psutil >=5.0,<5.1
- requests >=2.12,<2.13
- stevedore >=1.19,<1.20

View File

@ -8,71 +8,63 @@ root_dir = os.path.dirname(os.path.abspath(__file__))
tolines = lambda c: list(filter(None, map(lambda s: s.strip(), c.split('\n'))))
def read(filename, flt=None):
try:
with open(filename) as f:
content = f.read().strip()
return flt(content) if callable(flt) else content
except EnvironmentError:
except FileNotFoundError:
return ''
# Py3 compatibility hacks, borrowed from IPython.
try:
execfile
except NameError:
def execfile(fname, globs, locs=None):
locs = locs or globs
exec(compile(open(fname).read(), fname, "exec"), globs, locs)
version_ns = {}
try:
execfile(os.path.join(root_dir, 'bonobo/_version.py'), version_ns)
except EnvironmentError:
version = 'dev'
else:
version = version_ns.get('__version__', 'dev')
setup(
name = 'bonobo',
description = 'Bonobo',
license = 'Apache License, Version 2.0',
install_requires=[
'blessings >=1.6,<1.7', 'psutil >=5.0,<5.1', 'requests >=2.12,<2.13', 'stevedore >=1.19,<1.20',
'toolz >=0.8,<0.9'
],
install_requires = ['blessings >=1.6,<1.7',
'colorama >=0.3,<0.4',
'psutil >=5.0,<5.1',
'requests >=2.12,<2.13',
'stevedore >=1.19,<1.20',
'toolz >=0.8,<0.9'],
version = version,
long_description = read('README.rst'),
classifiers = read('classifiers.txt', tolines),
packages = find_packages(exclude=['ez_setup', 'example', 'test']),
include_package_data = True,
data_files=[
(
'share/jupyter/nbextensions/bonobo-jupyter', [
'bonobo/ext/jupyter/static/extension.js', 'bonobo/ext/jupyter/static/index.js',
'bonobo/ext/jupyter/static/index.js.map'
]
)
],
extras_require={
'dev': [
'coverage >=4.3,<4.4', 'mock >=2.0,<2.1', 'nose >=1.3,<1.4', 'pylint >=1.6,<1.7', 'pytest >=3,<4',
'pytest-cov >=2.4,<2.5', 'pytest-timeout >=1.2,<1.3', 'sphinx', 'sphinx_rtd_theme', 'yapf'
],
'jupyter': ['jupyter >=1.0,<1.1', 'ipywidgets >=6.0.0.beta5']
},
entry_points={
'bonobo.commands': [
'init = bonobo.commands.init:register', 'run = bonobo.commands.run:register',
'version = bonobo.commands.version:register'
],
'console_scripts': ['bonobo = bonobo.commands:entrypoint', 'bb = bonobo.commands:entrypoint'],
data_files = [('share/jupyter/nbextensions/bonobo-jupyter',
['bonobo/ext/jupyter/static/extension.js',
'bonobo/ext/jupyter/static/index.js',
'bonobo/ext/jupyter/static/index.js.map'])],
extras_require = {'dev': ['coverage >=4.3,<4.4',
'mock >=2.0,<2.1',
'nose >=1.3,<1.4',
'pylint >=1.6,<1.7',
'pytest >=3,<4',
'pytest-cov >=2.4,<2.5',
'pytest-timeout >=1.2,<1.3',
'sphinx',
'sphinx_rtd_theme',
'yapf'],
'jupyter': ['jupyter >=1.0,<1.1', 'ipywidgets >=6.0.0.beta5']},
entry_points = {'bonobo.commands': ['init = bonobo.commands.init:register',
'run = bonobo.commands.run:register',
'version = bonobo.commands.version:register'],
'console_scripts': ['bonobo = bonobo.commands:entrypoint',
'bb = bonobo.commands:entrypoint'],
'edgy.project.features': ['bonobo = '
'bonobo.ext.edgy.project.feature:BonoboFeature']
},
'bonobo.ext.edgy.project.feature:BonoboFeature']},
url = 'https://bonobo-project.org/',
download_url = 'https://github.com/python-bonobo/bonobo/tarball/{version}'.format(version=version),
)