From 539ea5f145f0864bece3afa3211f793bf6fedb31 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 13 Mar 2021 00:41:54 +0000 Subject: [PATCH 1/4] Add colors to financial market watch data, similarly to website --- .../fundamental_analysis/market_watch_api.py | 29 ++++++++++++++++++- gamestonk_terminal/helper_funcs.py | 14 +++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/gamestonk_terminal/fundamental_analysis/market_watch_api.py b/gamestonk_terminal/fundamental_analysis/market_watch_api.py index 2915af7c63e..795902841a8 100644 --- a/gamestonk_terminal/fundamental_analysis/market_watch_api.py +++ b/gamestonk_terminal/fundamental_analysis/market_watch_api.py @@ -2,7 +2,13 @@ import argparse import requests import pandas as pd from bs4 import BeautifulSoup -from gamestonk_terminal.helper_funcs import get_user_agent, parse_known_args_and_warn +from gamestonk_terminal.helper_funcs import ( + get_user_agent, + parse_known_args_and_warn, + patch_pandas_text_adjustment, + financials_colored_values, +) +from gamestonk_terminal import feature_flags as gtff def income(l_args, s_ticker): @@ -52,6 +58,13 @@ def income(l_args, s_ticker): df_financials = prepare_df_financials(url_financials, ns_parser.b_quarter) + if gtff.USE_COLOR: + df_financials = df_financials.applymap(financials_colored_values) + + patch_pandas_text_adjustment() + pd.set_option("display.max_colwidth", None) + pd.set_option("display.max_rows", None) + print(df_financials.to_string(index=False)) print("") @@ -120,6 +133,13 @@ def balance(l_args, s_ticker): df_financials = prepare_df_financials(url_financials, ns_parser.b_quarter) + if gtff.USE_COLOR: + df_financials = df_financials.applymap(financials_colored_values) + + patch_pandas_text_adjustment() + pd.set_option("display.max_colwidth", None) + pd.set_option("display.max_rows", None) + print(df_financials.to_string(index=False)) print("") @@ -181,6 +201,13 @@ def cash(l_args, s_ticker): df_financials = prepare_df_financials(url_financials, ns_parser.b_quarter) + if gtff.USE_COLOR: + df_financials = df_financials.applymap(financials_colored_values) + + patch_pandas_text_adjustment() + pd.set_option("display.max_colwidth", None) + pd.set_option("display.max_rows", None) + print(df_financials.to_string(index=False)) print("") diff --git a/gamestonk_terminal/helper_funcs.py b/gamestonk_terminal/helper_funcs.py index 4dfae92c5a6..f1a46caab26 100644 --- a/gamestonk_terminal/helper_funcs.py +++ b/gamestonk_terminal/helper_funcs.py @@ -310,6 +310,20 @@ def print_pretty_prediction(df_pred: pd.DataFrame, last_price: float): print(df_pred.to_string()) +def financials_colored_values(val: str) -> str: + if sum(c.isalpha() for c in val) < 2: + if "%" in val: + if "-" in val: + color = Fore.RED + else: + color = Fore.GREEN + return f"{color}{val}{Style.RESET_ALL}" + elif "(" in val: + color = Fore.RED + return f"{color}{val}{Style.RESET_ALL}" + return val + + def check_ohlc(type_ohlc: str) -> str: if bool(re.match("^[ohlca]+$", type_ohlc)): return type_ohlc From 3bf6de1b65f7d5076fbcd9189eece33da37a37c8 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 13 Mar 2021 00:47:33 +0000 Subject: [PATCH 2/4] Fix lint --- gamestonk_terminal/helper_funcs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gamestonk_terminal/helper_funcs.py b/gamestonk_terminal/helper_funcs.py index f1a46caab26..7f9da204b92 100644 --- a/gamestonk_terminal/helper_funcs.py +++ b/gamestonk_terminal/helper_funcs.py @@ -321,7 +321,10 @@ def financials_colored_values(val: str) -> str: elif "(" in val: color = Fore.RED return f"{color}{val}{Style.RESET_ALL}" - return val + else: + return val + else: + return val def check_ohlc(type_ohlc: str) -> str: From c5644d913d9e09d5c576e5832c619dc52c839b5f Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 13 Mar 2021 00:52:23 +0000 Subject: [PATCH 3/4] fix pylint --- gamestonk_terminal/helper_funcs.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gamestonk_terminal/helper_funcs.py b/gamestonk_terminal/helper_funcs.py index 7f9da204b92..ed8e29ebd3b 100644 --- a/gamestonk_terminal/helper_funcs.py +++ b/gamestonk_terminal/helper_funcs.py @@ -314,13 +314,11 @@ def financials_colored_values(val: str) -> str: if sum(c.isalpha() for c in val) < 2: if "%" in val: if "-" in val: - color = Fore.RED + return f"{Fore.RED}{val}{Style.RESET_ALL}" else: - color = Fore.GREEN - return f"{color}{val}{Style.RESET_ALL}" + return f"{Fore.GREEN}{val}{Style.RESET_ALL}" elif "(" in val: - color = Fore.RED - return f"{color}{val}{Style.RESET_ALL}" + return f"{Fore.RED}{val}{Style.RESET_ALL}" else: return val else: From a6c20136ef1d6a451793954a9b31604c59888455 Mon Sep 17 00:00:00 2001 From: didier Date: Sat, 13 Mar 2021 00:54:45 +0000 Subject: [PATCH 4/4] Fix return if/else --- gamestonk_terminal/helper_funcs.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gamestonk_terminal/helper_funcs.py b/gamestonk_terminal/helper_funcs.py index ed8e29ebd3b..f94d2d5f3d8 100644 --- a/gamestonk_terminal/helper_funcs.py +++ b/gamestonk_terminal/helper_funcs.py @@ -314,15 +314,12 @@ def financials_colored_values(val: str) -> str: if sum(c.isalpha() for c in val) < 2: if "%" in val: if "-" in val: - return f"{Fore.RED}{val}{Style.RESET_ALL}" + val = f"{Fore.RED}{val}{Style.RESET_ALL}" else: - return f"{Fore.GREEN}{val}{Style.RESET_ALL}" + val = f"{Fore.GREEN}{val}{Style.RESET_ALL}" elif "(" in val: - return f"{Fore.RED}{val}{Style.RESET_ALL}" - else: - return val - else: - return val + val = f"{Fore.RED}{val}{Style.RESET_ALL}" + return val def check_ohlc(type_ohlc: str) -> str: