summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormontezdesousa <79287829+montezdesousa@users.noreply.github.com>2023-04-26 10:14:54 +0100
committerGitHub <noreply@github.com>2023-04-26 09:14:54 +0000
commit45a06098a9b019c2c9a124c9fee85027073d5462 (patch)
tree922db1815381811129136a024207427e4de64726
parent0d7318bdc97738929802587f5a8fd601c49dfa38 (diff)
Fix `crypto/defi/anchor` (#4892)v3.0.0
* handle defi anchor exceptions * reason * mypy --------- Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
-rw-r--r--openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py7
-rw-r--r--openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py31
2 files changed, 22 insertions, 16 deletions
diff --git a/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py b/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py
index 1d921181ab9..177a7ced5a5 100644
--- a/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py
+++ b/openbb_terminal/cryptocurrency/defi/cryptosaurio_model.py
@@ -8,6 +8,7 @@ import pandas as pd
from openbb_terminal.decorators import log_start_end
from openbb_terminal.helper_funcs import request
+from openbb_terminal.rich_config import console
logger = logging.getLogger(__name__)
@@ -33,13 +34,15 @@ def get_anchor_data(address: str = "") -> Tuple[pd.DataFrame, pd.DataFrame, str]
"""
if not address.startswith("terra"):
- raise Exception(
+ console.print(
"Select a valid address. Valid terra addresses start with 'terra'"
)
+ return pd.DataFrame(), pd.DataFrame(), ""
response = request(f"{api_url}/get-anchor-protocol-data-v2/{address}")
if response.status_code != 200:
- raise Exception(f"Status code: {response.status_code}. Reason: {response.text}")
+ console.print(f"Status code: {response.status_code}. Reason: {response.reason}")
+ return pd.DataFrame(), pd.DataFrame(), ""
data = response.json()
df = pd.DataFrame(reversed(data["historicalData"]))
diff --git a/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py b/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py
index 5a74ac63538..c903ee1fea5 100644
--- a/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py
+++ b/openbb_terminal/cryptocurrency/defi/cryptosaurio_view.py
@@ -41,9 +41,10 @@ def display_anchor_data(
df, df_deposits, stats_str = cryptosaurio_model.get_anchor_data(address=address)
- console.print(f"\n{stats_str}\n")
+ if stats_str:
+ console.print(f"\n{stats_str}\n")
- if show_transactions:
+ if not df_deposits.empty and show_transactions:
print_rich_table(
df_deposits,
headers=list(df_deposits.columns),
@@ -52,18 +53,20 @@ def display_anchor_data(
export=bool(export),
)
- fig = OpenBBFigure(yaxis_title="Earnings Value [UST]")
- fig.set_title("Earnings in Anchor Earn")
+ if not df.empty:
+ fig = OpenBBFigure(yaxis_title="Earnings Value [UST]")
+ fig.set_title("Earnings in Anchor Earn")
- fig.add_scatter(x=df["time"], y=df["yield"], name="Earnings")
+ fig.add_scatter(x=df["time"], y=df["yield"], name="Earnings")
- export_data(
- export,
- os.path.dirname(os.path.abspath(__file__)),
- "anchor",
- df,
- sheet_name,
- fig,
- )
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "anchor",
+ df,
+ sheet_name,
+ fig,
+ )
- return fig.show(external=external_axes)
+ return fig.show(external=external_axes)
+ return None