Files
OpenBB/openbb_terminal/cryptocurrency/onchain/topledger_view.py
Harsh Vardhan Sharma ecf7814ffd Adds Topledger on-chain data (#5029)
* Adds Topledger on-chain data

* Update with Review Comments

* Updates API Documentation for Topledger API

* Removes Duplicate entry from trail_map

* Updates Topledger Org Slugs & API keys

* Fix Linting Error

* Fix Linting Error

* Fix Linting Error

* Fix pylint errors

* Fix onchain_controller test for help text

---------

Co-authored-by: Deepak Khatri <3785149+dkdocs@users.noreply.github.com>
2023-06-30 16:16:59 +00:00

58 lines
1.3 KiB
Python

"""Topledger Data view"""
__docformat__ = "numpy"
import logging
import os
from typing import Optional
from openbb_terminal.cryptocurrency.onchain import topledger_model
from openbb_terminal.decorators import log_start_end
from openbb_terminal.helper_funcs import (
export_data,
print_rich_table,
)
from openbb_terminal.rich_config import console
logger = logging.getLogger(__name__)
@log_start_end(log=logger)
def display_topledger_data(
org_slug: str,
query_slug: str,
export: str = "",
sheet_name: Optional[str] = None,
) -> None:
"""Display on-chain data from Topledger. [Source: Topledger]
Parameters
----------
org_slug: str
Organization Slug
query_slug: str
Query Slug
export: str
Export dataframe data to csv,json,xlsx file
"""
df = topledger_model.get_topledger_data(org_slug, query_slug)
if df.empty:
console.print("Failed to retrieve data.")
return
df_data = df.copy()
print_rich_table(
df,
headers=list(df.columns),
show_index=False,
title=f"Topledger Query Result {query_slug} for {org_slug}",
export=bool(export),
)
export_data(
export,
os.path.dirname(os.path.abspath(__file__)),
f"{query_slug} for {org_slug}",
df_data,
sheet_name,
)