diff --git a/openbb_terminal/cryptocurrency/defi/defi_controller.py b/openbb_terminal/cryptocurrency/defi/defi_controller.py index 67b646d2dcf..300d093ae1f 100644 --- a/openbb_terminal/cryptocurrency/defi/defi_controller.py +++ b/openbb_terminal/cryptocurrency/defi/defi_controller.py @@ -397,7 +397,7 @@ class DefiController(BaseController): "-d", "--dapps", dest="dapps", - type=str, + choices=["anchor", "sushiswap", "pancakeswap"], required="-h" not in other_args, help="dApps to search historical TVL. Should be split by , e.g.: anchor,sushiswap,pancakeswap", ) @@ -405,11 +405,17 @@ class DefiController(BaseController): other_args.insert(0, "-d") ns_parser = self.parse_known_args_and_warn( - parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED + parser, other_args, EXPORT_BOTH_RAW_DATA_AND_FIGURES ) if ns_parser: - llama_view.display_historical_tvl(dapps=ns_parser.dapps) + llama_view.display_historical_tvl( + dapps=ns_parser.dapps, + export=ns_parser.export, + sheet_name=" ".join(ns_parser.sheet_name) + if ns_parser.sheet_name + else None, + ) @log_start_end(log=logger) def call_ldapps(self, other_args: List[str]): diff --git a/openbb_terminal/cryptocurrency/defi/llama_view.py b/openbb_terminal/cryptocurrency/defi/llama_view.py index 9a9d3170eac..dfc86362450 100644 --- a/openbb_terminal/cryptocurrency/defi/llama_view.py +++ b/openbb_terminal/cryptocurrency/defi/llama_view.py @@ -128,8 +128,8 @@ def display_defi_protocols( @log_start_end(log=logger) def display_historical_tvl( - dapps: str = "", - export: str = "", + dapps: str = "sushiswap", + export: Optional[str] = "", sheet_name: Optional[str] = None, external_axes: bool = False, ) -> Union[OpenBBFigure, None]: @@ -155,6 +155,7 @@ def display_historical_tvl( for dapp in dapps.split(","): if dapp in available_protocols: df = llama_model.get_defi_protocol(dapp) + df = df.query("`totalLiquidityUSD` > 0") if not df.empty: fig.add_scatter( x=df.index, @@ -163,25 +164,23 @@ def display_historical_tvl( ) else: print(f"{dapp} not found\n") - - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - "dtvl", - None, - sheet_name, - fig, - ) - + if export and export != "": + return export_data( + export, + os.path.dirname(os.path.abspath(__file__)), + f"dtvl_{dapp}", + df, + sheet_name, + fig, + ) return fig.show(external=external_axes) - return None @log_start_end(log=logger) def display_defi_tvl( limit: int = 5, - export: str = "", + export: Optional[str] = "", sheet_name: Optional[str] = None, external_axes: bool = False, ) -> Union[OpenBBFigure, None]: @@ -205,15 +204,16 @@ def display_defi_tvl( df_data = df.copy() df = df.tail(limit) + if export and export != "": + return export_data( + export, + os.path.dirname(os.path.abspath(__file__)), + "stvl", + df_data, + sheet_name, + fig, + ) + fig.add_scatter(x=df["date"], y=df["totalLiquidityUSD"], name="TVL") - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - "stvl", - df_data, - sheet_name, - fig, - ) - return fig.show(external=external_axes)