From e00a4400cb07316aa90d4b7fd5b55c8000724ce7 Mon Sep 17 00:00:00 2001 From: "[Luis Rodrigues]" Date: Mon, 17 Jun 2024 16:44:18 +0100 Subject: [PATCH] adicionada chamada 'public_companies_holdings()' --- modulos/coingecko_api.py | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index f5ba57a..9096230 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -1667,15 +1667,30 @@ def global_defi_market_data() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def public_companies_holdings() -> tuple[str, int, dict]: - pass +def public_companies_holdings(coin_id: str = '') -> tuple[str, int, dict]: + '''https://docs.coingecko.com/v3.0.1/reference/companies-public-treasury + + este endpoint permite consultar a participação/posse de BTC ou ETH de empresas + ''' + # dicionario de parametros + api_parameters: dict = { + 'coin_id': '', + } + # validacao de parametros + if not isinstance(coin_id, str): + raise TypeError('\'coin_id\' tem de ser do tipo \'str\'') + if coin_id == '': + raise ValueError('\'coin_id\' tem de ser definido') + api_parameters['coin_id'] = coin_id + + return API(f'companies/public_treasury/{api_parameters['coin_id']}', api_parameters) # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = -# print(f'url: {url}') -# if codigo == 200: -# for item in dados: -# print(item) -# else: -# print(f'erro {codigo}: {dados}') \ No newline at end of file +url, codigo, dados = public_companies_holdings('bitcoin') +print(f'url: {url}') +if codigo == 200: + for item in dados: + print(f'{item}: {dados[item]}') +else: + print(f'erro {codigo}: {dados}') \ No newline at end of file