From c91032fb12532fdd683644c7c41166d2caa5e91d Mon Sep 17 00:00:00 2001 From: "[Luis Rodrigues]" Date: Sun, 16 Jun 2024 21:10:52 +0100 Subject: [PATCH] adicionada chamada 'exchanges_list_with_data()' --- modulos/coingecko_api.py | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index 07525e9..375883e 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -1099,6 +1099,7 @@ def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, d 'order': '' } # validacao de parametros + # order if not isinstance(order, str): raise TypeError('\'order\' tem de ser do tipo \'str\'') @@ -1114,16 +1115,41 @@ def coins_categories_list_with_market_data(order: str = '') -> tuple[str, int, d # else: # print(f'erro {codigo}: {dados}') -def exchanges_list_with_data() -> tuple[str, int, dict]: - pass +def exchanges_list_with_data( + per_page: int = -1, + page: int = -1, +) -> tuple[str, int, dict]: + '''https://docs.coingecko.com/v3.0.1/reference/exchanges + + este endpoit permite obter todos os dados (id, nome, pais, etc) + das correctoras suportadas que têm volumes de transacoes activas na CoinGecko + ''' + # dicionario de parametros + api_parameters: dict = { + 'per_page': '', + 'page': '', + } + # validacao de parametros + # 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'] = str(per_page) + # page + if not isinstance(page, int): + raise TypeError('\'page\' tem de ser do tipo \'int\'') + if page != -1: + api_parameters['page'] = str(page) + + return API(f'exchanges', api_parameters) # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = +# url, codigo, dados = exchanges_list_with_data() # print(f'url: {url}') # if codigo == 200: # for item in dados: -# print(item) +# print(f'{item}') # else: # print(f'erro {codigo}: {dados}')