From 617b46724af08c9b70701aba60b2a3872beb441c Mon Sep 17 00:00:00 2001 From: "[Luis Rodrigues]" Date: Sat, 15 Jun 2024 12:27:58 +0100 Subject: [PATCH] adicionada chamada 'coin_data_by_token_address()' --- modulos/coingecko_api.py | 129 +++++++++++++++++---------------------- 1 file changed, 56 insertions(+), 73 deletions(-) diff --git a/modulos/coingecko_api.py b/modulos/coingecko_api.py index 38f8f68..14150b4 100644 --- a/modulos/coingecko_api.py +++ b/modulos/coingecko_api.py @@ -832,17 +832,44 @@ def coin_ohlc_chart_by_id( # print(f'erro {codigo}: {dados}') -def coin_data_by_token_address() -> tuple: - pass +def coin_data_by_token_address( + id_criptomoeda: str = '', + contract_address: str = '' +) -> tuple: + '''https://docs.coingecko.com/v3.0.1/reference/coins-contract-address + + este endpoint permite consultar todos os dados de uma moeda (nome, preço, mercado... + incluindo tickers das correctoras) nda pagina da CoinGecko a partir da plataforma do activo + e do endereço do contrato do token + ''' + # dicionario parametros + api_parameters: dict = { + 'id': '', + 'contract_address': '', + } + # validação de parametros + # id_criptomoeda (como 'id' é nome reservado, foi usado outro nome) + if not isinstance(id_criptomoeda, str): + raise TypeError('\'id_criptomoeda\' tem de ser do tipo \'str\'') + if id_criptomoeda == '': + raise ValueError('\'id_criptomoeda\' tem de ser definido') + api_parameters['id'] = id_criptomoeda + # contract_address + if not isinstance(contract_address, str): + raise TypeError('\'contract_address\' tem de ser do tipo \'str\'') + if contract_address == '': + raise ValueError('\'contract_address\' tem de ser definido') + api_parameters['contract_address'] = contract_address + + return API(f'coins/{api_parameters['id']}/contract/{api_parameters["contract_address"]}', {}) # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = coin_data_by_token_address('ethereum','0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48') # print(f'url: {url}') -# if codigo == 200: -# print(f'codigo: {codigo}') +# if codigo == 200: # for item in dados: -# print(item) +# print(f'{item}: {dados[item]}') # else: # print(f'erro {codigo}: {dados}') @@ -852,10 +879,9 @@ def coin_historical_chart_data_by_token_address() -> tuple: # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: @@ -867,325 +893,282 @@ def coin_historical_chart_data_within_time_range_by_token_address() -> tuple: # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def assets_platforms_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def coins_categories_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def coins_categories_list_with_market_data() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def exchanges_list_with_data() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def exchanges_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def exchange_data_by_id() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def exchange_tickers_by_id() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def exchange_colume_chart_by_id() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def derivatives_tickers_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def derivatives_exchange_list_with_data() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def derivatives_exchange_data_by_id() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def derivatives_exchanges_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def nfts_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def nfts_collection_data_by_id() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def nfts_collection_data_by_contrat_address() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def btc_to_curency_exchange_rates() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def search_queries() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def trending_search_list() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def crypto_global_market_data() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def global_defi_market_data() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: # print(f'erro {codigo}: {dados}') - def public_companies_holdings() -> tuple: pass # debug (decomentar linhas seguintes para testar funcao) -# url, codigo, dados = coins_list_with_market_data('eur', 'bitcoin') +# url, codigo, dados = # print(f'url: {url}') # if codigo == 200: -# print(f'codigo: {codigo}') # for item in dados: # print(item) # else: