From c8baf97c5fa60de8f9680c9e6452f01b5809409c Mon Sep 17 00:00:00 2001 From: "[Luis Rodrigues]" Date: Mon, 17 Jun 2024 15:47:28 +0100 Subject: [PATCH] adicionada chamada 'nfts_list()' --- modulos/coingecko_api.py | 41 +++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index 216dcac..ec2deee 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -1438,16 +1438,47 @@ def derivatives_exchanges_list() -> tuple[str, int, dict]: # else: # print(f'erro {codigo}: {dados}') -def nfts_list() -> tuple[str, int, dict]: - pass +def nfts_list( + order: str = '', + per_page: int = -1, + page: int = -1 +) -> tuple[str, int, dict]: + '''https://docs.coingecko.com/v3.0.1/reference/nfts-list + + este endpoint permite obter todos os NFTs suportados com id, endereço de contracto, + nome, id da platforma do activo e o simbolo da 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'] = str(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'nfts/list', api_parameters) # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = +# url, codigo, dados = nfts_list() # print(f'url: {url}') -# if codigo == 200: +# if codigo == 200: # for item in dados: -# print(item) +# print(f'{item}') # else: # print(f'erro {codigo}: {dados}')