From e3051bb1762feffcdcd761c74c1b55715ce85a22 Mon Sep 17 00:00:00 2001 From: Colin Delahunty <72827203+colin99d@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:07:45 +0200 Subject: [PATCH] Improved error handling for crypto commands (#2704) * Improved error handling * Updated tests --- .../cryptocurrency/discovery/dappradar_model.py | 13 +++++++++---- .../cryptocurrency/discovery/dappradar_view.py | 8 ++++---- .../test_call_func[display_top_dexes-kwargs2].txt | 2 +- .../test_call_func[display_top_nfts-kwargs0].txt | 2 +- ..._df[display_top_dapps-kwargs3-get_top_dapps].txt | 2 +- ..._df[display_top_dexes-kwargs2-get_top_dexes].txt | 2 +- ..._df[display_top_games-kwargs1-get_top_games].txt | 2 +- ...ty_df[display_top_nfts-kwargs0-get_top_nfts].txt | 2 +- 8 files changed, 19 insertions(+), 14 deletions(-) diff --git a/openbb_terminal/cryptocurrency/discovery/dappradar_model.py b/openbb_terminal/cryptocurrency/discovery/dappradar_model.py index ef7814119ff..06d5970bb65 100644 --- a/openbb_terminal/cryptocurrency/discovery/dappradar_model.py +++ b/openbb_terminal/cryptocurrency/discovery/dappradar_model.py @@ -40,13 +40,15 @@ DEX_COLUMNS = [ @log_start_end(log=logger) -def _make_request(url: str) -> Optional[dict]: +def _make_request(url: str, verbose: bool = True) -> Optional[dict]: """Helper method handles dappradar api requests. [Source: https://dappradar.com/] Parameters ---------- url: str endpoint url + verbose: bool + whether to print the text from the response Returns ------- dict: @@ -60,13 +62,15 @@ def _make_request(url: str) -> Optional[dict]: } response = requests.get(url, headers=headers) if not 200 <= response.status_code < 300: - console.print(f"[red]dappradar api exception: {response.text}[/red]") + if verbose: + console.print(f"[red]dappradar api exception: {response.text}[/red]") return None try: return response.json() except Exception as e: # noqa: F841 logger.exception("Invalid Response: %s", str(e)) - console.print(f"[red]Invalid Response:: {response.text}[/red]") + if verbose: + console.print(f"[red]Invalid Response:: {response.text}[/red]") return None @@ -217,7 +221,8 @@ def get_top_dapps(sortby: str = "", limit: int = 10) -> pd.DataFrame: data = _make_request( "https://dappradar.com/v2/api/dapps?params=WkdGd2NISmhaR0Z5Y0dGblpUMHhKbk5uY205MWNEMX" "RZWGdtWTNWeWNtVnVZM2s5VlZORUptWmxZWFIxY21Wa1BURW1jbUZ1WjJVOVpHRjVKbk52Y25ROWRYTmxjaVp" - "2Y21SbGNqMWtaWE5qSm14cGJXbDBQVEky" + "2Y21SbGNqMWtaWE5qSm14cGJXbDBQVEky", + False, ) if data: arr = [ diff --git a/openbb_terminal/cryptocurrency/discovery/dappradar_view.py b/openbb_terminal/cryptocurrency/discovery/dappradar_view.py index 759b0bd752b..a4544571e28 100644 --- a/openbb_terminal/cryptocurrency/discovery/dappradar_view.py +++ b/openbb_terminal/cryptocurrency/discovery/dappradar_view.py @@ -32,7 +32,7 @@ def display_top_nfts(limit: int = 10, sortby: str = "", export: str = "") -> Non df = dappradar_model.get_top_nfts(sortby, limit) if df.empty: - console.print("Failed to fetch data from DappRadar\n") + console.print("[red]Failed to fetch data from DappRadar[/red]\n") return for col in ["Floor Price [$]", "Avg Price [$]", "Market Cap [$]", "Volume [$]"]: if col in df.columns: @@ -73,7 +73,7 @@ def display_top_games(limit: int = 10, export: str = "", sortby: str = "") -> No df = dappradar_model.get_top_games(sortby, limit) if df.empty: - console.print("Failed to fetch data from DappRadar\n") + console.print("[red]Failed to fetch data from DappRadar[/red]\n") return for col in ["Daily Users", "Daily Volume [$]"]: if col in df.columns: @@ -109,7 +109,7 @@ def display_top_dexes(limit: int = 10, export: str = "", sortby: str = "") -> No df = dappradar_model.get_top_dexes(sortby, limit) if df.empty: - console.print("Failed to fetch data from DappRadar\n") + console.print("[red]Failed to fetch data from DappRadar[/red]\n") return for col in ["Daily Users", "Daily Volume [$]"]: if col in df.columns: @@ -145,7 +145,7 @@ def display_top_dapps(limit: int = 10, export: str = "", sortby: str = "") -> No df = dappradar_model.get_top_dapps(sortby, limit) if df.empty: - console.print("Failed to fetch data from DappRadar\n") + console.print("[red]Failed to fetch data from DappRadar[/red]\n") return for col in ["Daily Users", "Daily Volume [$]"]: if col in df.columns: diff --git a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_dexes-kwargs2].txt b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_dexes-kwargs2].txt index 620d7ebffd8..40dc835dbe2 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_dexes-kwargs2].txt +++ b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_dexes-kwargs2].txt @@ -1,2 +1,2 @@ -Failed to fetch data from DappRadar +[red]Failed to fetch data from DappRadar[/red] diff --git a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_nfts-kwargs0].txt b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_nfts-kwargs0].txt index 620d7ebffd8..40dc835dbe2 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_nfts-kwargs0].txt +++ b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func[display_top_nfts-kwargs0].txt @@ -1,2 +1,2 @@ -Failed to fetch data from DappRadar +[red]Failed to fetch data from DappRadar[/red] diff --git a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dapps-kwargs3-get_top_dapps].txt b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dapps-kwargs3-get_top_dapps].txt index 620d7ebffd8..40dc835dbe2 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dapps-kwargs3-get_top_dapps].txt +++ b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dapps-kwargs3-get_top_dapps].txt @@ -1,2 +1,2 @@ -Failed to fetch data from DappRadar +[red]Failed to fetch data from DappRadar[/red] diff --git a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dexes-kwargs2-get_top_dexes].txt b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dexes-kwargs2-get_top_dexes].txt index 620d7ebffd8..40dc835dbe2 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dexes-kwargs2-get_top_dexes].txt +++ b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_dexes-kwargs2-get_top_dexes].txt @@ -1,2 +1,2 @@ -Failed to fetch data from DappRadar +[red]Failed to fetch data from DappRadar[/red] diff --git a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_games-kwargs1-get_top_games].txt b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_games-kwargs1-get_top_games].txt index 620d7ebffd8..40dc835dbe2 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_games-kwargs1-get_top_games].txt +++ b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_games-kwargs1-get_top_games].txt @@ -1,2 +1,2 @@ -Failed to fetch data from DappRadar +[red]Failed to fetch data from DappRadar[/red] diff --git a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_nfts-kwargs0-get_top_nfts].txt b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_nfts-kwargs0-get_top_nfts].txt index 620d7ebffd8..40dc835dbe2 100644 --- a/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_nfts-kwargs0-get_top_nfts].txt +++ b/tests/openbb_terminal/cryptocurrency/discovery/txt/test_dappradar_view/test_call_func_empty_df[display_top_nfts-kwargs0-get_top_nfts].txt @@ -1,2 +1,2 @@ -Failed to fetch data from DappRadar +[red]Failed to fetch data from DappRadar[/red]