summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Delahunty <72827203+colin99d@users.noreply.github.com>2022-09-28 15:38:34 +0200
committerGitHub <noreply@github.com>2022-09-28 15:38:34 +0200
commit532daac9fee7c0bd2e340a2dcc1e70c36f11ae02 (patch)
treec1526d724a502b7b3eead3384f84e498ab124a0f
parentef36c00f28c32335d65ec4cc96661f7653c4ec91 (diff)
Fix stock and fund (#2656)
* Added handling for bad data * Fixed stocks/ba * Fixed stocks/disc * Fixed stocks/fa * Added test fixes
-rw-r--r--openbb_terminal/common/behavioural_analysis/google_view.py3
-rw-r--r--openbb_terminal/mutual_funds/investpy_model.py5
-rw-r--r--openbb_terminal/mutual_funds/investpy_view.py2
-rw-r--r--openbb_terminal/stocks/discovery/seeking_alpha_model.py2
-rw-r--r--openbb_terminal/stocks/fundamental_analysis/dcf_model.py1
-rw-r--r--openbb_terminal/stocks/fundamental_analysis/yahoo_finance_model.py2
-rw-r--r--openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py3
-rw-r--r--tests/openbb_terminal/common/behavioural_analysis/test_google_view.py6
8 files changed, 17 insertions, 7 deletions
diff --git a/openbb_terminal/common/behavioural_analysis/google_view.py b/openbb_terminal/common/behavioural_analysis/google_view.py
index 36661fbdf92..e7dbcfa567e 100644
--- a/openbb_terminal/common/behavioural_analysis/google_view.py
+++ b/openbb_terminal/common/behavioural_analysis/google_view.py
@@ -219,8 +219,7 @@ def display_queries(symbol: str, limit: int = 5, export: str = ""):
None
"""
# Retrieve a dict with top and rising queries
- df_related_queries = google_model.get_queries(symbol, limit)
- df = df_related_queries[symbol]["top"]
+ df = google_model.get_queries(symbol, limit)
print_rich_table(
df,
diff --git a/openbb_terminal/mutual_funds/investpy_model.py b/openbb_terminal/mutual_funds/investpy_model.py
index dbf848e173c..04ce5405a05 100644
--- a/openbb_terminal/mutual_funds/investpy_model.py
+++ b/openbb_terminal/mutual_funds/investpy_model.py
@@ -194,5 +194,10 @@ def get_fund_historical(
matching_country,
)
except RuntimeError as e:
+ console.print("[red]Error connecting to the data source.[/red]\n")
+ logger.exception(str(e))
+ return pd.DataFrame(), fund_name, fund_symbol, search_country
+ except ConnectionError as e:
+ console.print("[red]Error connecting to the data source.[/red]\n")
logger.exception(str(e))
return pd.DataFrame(), fund_name, fund_symbol, search_country
diff --git a/openbb_terminal/mutual_funds/investpy_view.py b/openbb_terminal/mutual_funds/investpy_view.py
index e6cbf5a257d..94d42f079b3 100644
--- a/openbb_terminal/mutual_funds/investpy_view.py
+++ b/openbb_terminal/mutual_funds/investpy_view.py
@@ -156,6 +156,8 @@ def display_historical(
_, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
else:
ax = external_axes[0]
+ if data.empty:
+ return
ax.plot(data.index, data.Close)
ax.set_xlim([data.index[0], data.index[-1]])
ax.set_xlabel("Date")
diff --git a/openbb_terminal/stocks/discovery/seeking_alpha_model.py b/openbb_terminal/stocks/discovery/seeking_alpha_model.py
index d977d980934..6210a5b537e 100644
--- a/openbb_terminal/stocks/discovery/seeking_alpha_model.py
+++ b/openbb_terminal/stocks/discovery/seeking_alpha_model.py
@@ -215,7 +215,7 @@ def get_news(news_type: str = "Top-News", limit: int = 5) -> List:
news_articles: Dict = get_news_html(news_type)
news_to_display = list()
- if news_articles:
+ if "data" in news_articles:
for idx, news in enumerate(news_articles["data"]):
if idx > limit:
break
diff --git a/openbb_terminal/stocks/fundamental_analysis/dcf_model.py b/openbb_terminal/stocks/fundamental_analysis/dcf_model.py
index a1ad35220d8..3b4006c6f92 100644
--- a/openbb_terminal/stocks/fundamental_analysis/dcf_model.py
+++ b/openbb_terminal/stocks/fundamental_analysis/dcf_model.py
@@ -426,6 +426,7 @@ def create_dataframe(symbol: str, statement: str, period: str = "annual"):
else:
return pd.DataFrame(), None, None
+ statement_currency = ""
for currency in CURRENCIES:
if currency.lower() in phrase:
statement_currency = currency
diff --git a/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_model.py b/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_model.py
index 6589225ec19..e7d0a7fc7c5 100644
--- a/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_model.py
+++ b/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_model.py
@@ -379,6 +379,8 @@ def get_financials(symbol: str, statement: str, ratios: bool = False) -> pd.Data
index += 1
df = pd.DataFrame(final[1:])
+ if df.empty:
+ return pd.DataFrame()
new_headers = []
if statement == "balance-sheet":
diff --git a/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py b/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py
index e7f994f823c..cbee60f3e9a 100644
--- a/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py
+++ b/openbb_terminal/stocks/fundamental_analysis/yahoo_finance_view.py
@@ -413,6 +413,9 @@ def display_fundamentals(
fundamentals = yahoo_finance_model.get_financials(symbol, statement, ratios)
title_str = "Cash Flow Statement"
+ if fundamentals is None:
+ return
+
if fundamentals.empty:
# The empty data frame error handling done in model
return
diff --git a/tests/openbb_terminal/common/behavioural_analysis/test_google_view.py b/tests/openbb_terminal/common/behavioural_analysis/test_google_view.py
index 1814b0d7058..c955a6ee1d7 100644
--- a/tests/openbb_terminal/common/behavioural_analysis/test_google_view.py
+++ b/tests/openbb_terminal/common/behavioural_analysis/test_google_view.py
@@ -54,7 +54,7 @@ def get_queries_response():
}
}
- return resp
+ return pd.DataFrame(resp)
@pytest.mark.default_cassette("test_google_view")
@@ -98,7 +98,5 @@ def test_display_queries(mocker, symbol, limit, export, get_queries_response):
if export:
pd.testing.assert_frame_equal(
export_mock.call_args[0][3], # fourth positional arg is the df
- pd.DataFrame(
- get_queries_response[symbol]["top"].head(limit)
- ), # expected DF
+ pd.DataFrame(get_queries_response), # expected DF
)