From 62b2ce3278a61dbc0425f3a96e8e6b65ed39f1c4 Mon Sep 17 00:00:00 2001 From: "[Luis Rodrigues]" Date: Mon, 17 Jun 2024 10:15:12 +0100 Subject: [PATCH] adicionada chamada 'derivatives_exchange_list_with_data()' --- modulos/coingecko_api.py | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index c4766cb..cf6179f 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -1334,16 +1334,47 @@ def derivatives_tickers_list() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def derivatives_exchange_list_with_data() -> tuple[str, int, dict]: - pass +def derivatives_exchange_list_with_data( + order: str = '', + per_page: int = -1, + page: int = -1 +) -> tuple[str, int, dict]: + '''https://docs.coingecko.com/v3.0.1/reference/derivatives-exchanges + + este endpoint permite obter todas as correctoras de derivativos com os seus dados (id, + nome, contractos em aberto, etc) disponiveis na CoinGecko + ''' + # dicionario de parametros + api_parameters: dict = { + 'order': '', + 'per_page': '', + 'page': '', + } + # validacao de parametros + # order + if not isinstance(order, str): + raise TypeError('\'order\' tem de ser do tipo \'str\'') + api_parameters['order'] = order + # per_page + if not isinstance(per_page, int): + raise TypeError('\'per_page\' tem de ser do tipo \'int\'') + if per_page != -1: + api_parameters['per_page'] = per_page + # page + if not isinstance(page, int): + raise TypeError('\'page\' tem de ser do tipo \'int\'') + if page != -1: + api_parameters['page'] = page + + return API(f'derivatives/exchanges', api_parameters) # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = +# url, codigo, dados = derivatives_exchange_list_with_data('open_interest_bts_desc') # print(f'url: {url}') # if codigo == 200: # for item in dados: -# print(item) +# print(f'{item}') # else: # print(f'erro {codigo}: {dados}')