From 9cbab35de01db7338563d4a029d4c62d7cbd9fe7 Mon Sep 17 00:00:00 2001 From: hroff-1902 Date: Sun, 4 Aug 2019 22:54:19 +0300 Subject: [PATCH] colorization by means of termcolor and colorama --- freqtrade/misc.py | 12 ------------ freqtrade/optimize/hyperopt.py | 12 ++++++++---- requirements-common.txt | 4 ++++ 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/freqtrade/misc.py b/freqtrade/misc.py index eadfc7490..05946e008 100644 --- a/freqtrade/misc.py +++ b/freqtrade/misc.py @@ -113,15 +113,3 @@ def deep_merge_dicts(source, destination): destination[key] = value return destination - - -def green(s): - return '\033[92m' + s + '\033[0m' - - -def red(s): - return '\033[91m' + s + '\033[0m' - - -def bold(s): - return '\033[1m' + s + '\033[0m' diff --git a/freqtrade/optimize/hyperopt.py b/freqtrade/optimize/hyperopt.py index e62cbe66b..fc0fb56b2 100644 --- a/freqtrade/optimize/hyperopt.py +++ b/freqtrade/optimize/hyperopt.py @@ -13,14 +13,15 @@ from pathlib import Path from pprint import pprint from typing import Any, Dict, List, Optional +from colorama import init as colorama_init from joblib import Parallel, delayed, dump, load, wrap_non_picklable_objects, cpu_count from pandas import DataFrame from skopt import Optimizer from skopt.space import Dimension +from termcolor import colored from freqtrade.configuration import Arguments from freqtrade.data.history import load_data, get_timeframe -from freqtrade.misc import green, red, bold from freqtrade.optimize.backtesting import Backtesting # Import IHyperOptLoss to allow users import from this file from freqtrade.optimize.hyperopt_loss_interface import IHyperOptLoss # noqa: F4 @@ -162,11 +163,11 @@ class Hyperopt(Backtesting): # Colorize output if self.config.get('print_colorized', False): if results['total_profit'] > 0: - log_str = bold(log_str) + log_str = colored(log_str, attrs=['bold']) if results['loss'] >= MAX_LOSS: - log_str = red(log_str) + log_str = colored(log_str, 'red') elif is_best_loss: - log_str = green(log_str) + log_str = colored(log_str, 'green') if print_all: print(log_str) else: @@ -353,6 +354,9 @@ class Hyperopt(Backtesting): logger.info(f'Number of parallel jobs set as: {config_jobs}') opt = self.get_optimizer(config_jobs) + + colorama_init() + try: with Parallel(n_jobs=config_jobs) as parallel: jobs = parallel._effective_n_jobs() diff --git a/requirements-common.txt b/requirements-common.txt index 2e52b84ad..b0c4c6729 100644 --- a/requirements-common.txt +++ b/requirements-common.txt @@ -30,3 +30,7 @@ sdnotify==0.3.2 # Api server flask==1.1.1 + +# Support for colorized terminal output +termcolor==1.1.0 +colorama==0.4.1