alteradas chamadas 'consultar_preco()' e 'consultar_preco_token()' para devolverem multiplos resultados

This commit is contained in:
2024-06-05 09:42:23 +01:00
parent 1140aca4a3
commit 4d24e5c83c
3 changed files with 105 additions and 16 deletions

View File

@ -41,6 +41,11 @@ def consultar_preco(id_criptomoeda: str = '',
flag_include_last_updated_at: bool = False,
precisao: int | str = 'full'
) -> tuple:
'''
consultar preço de um ou mais moedas usando o seu ID de Moeda
podem ser passadas multiplos IDs de moedas separadas por virgula, como objecto de tipo 'str'
'''
# validacao de parametros
if not isinstance(id_criptomoeda, str):
raise TypeError('\'id_criptomoeda\' não é do tipo \'str\'')
@ -78,11 +83,13 @@ def consultar_preco(id_criptomoeda: str = '',
resposta = requests.get(url_pedido, headers=headers)
return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao)
# codigo, dados_dict = consultar_preco('bitcoin', 'eur', precisao=0)
# print(f'codigo: {codigo}')
# for item in dados_dict:
# print(f'{dados_dict[item]}')
# print(dados)
# codigo, dados_dict = consultar_preco('bitcoin,dogecoin,ethereum,0chain', 'eur')
# if codigo == 200:
# print(f'codigo: {codigo}')
# for moeda in dados_dict:
# print(f'{moeda}')
# for vs_currency in dados_dict[moeda]:
# print(f'\t{vs_currency}: {dados_dict[moeda][vs_currency]:.2f}')
# https://docs.coingecko.com/v3.0.1/reference/simple-supported-currencies
# obter lista de todas as moedas suportadas por CoinGecko que podem ser usados como 'vs_currencies'
@ -93,8 +100,9 @@ def obter_lista_moedas_vs_currencies() -> tuple:
return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao)
# codigo, dados = obter_lista_moedas_vs_currencies()
# for item in dados:
# print(item)
# if codigo == 200:
# for item in dados:
# print(item)
# https://docs.coingecko.com/v3.0.1/reference/simple-token-price
# consultar preco de token usando o endereco de contrato do token
@ -151,12 +159,14 @@ def consultar_preco_token(
return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao)
# id_plataforma = 'ethereum'
# endereco_contracto = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'
# codigo, dados = consultar_preco_token(id_plataforma, endereco_contracto, 'eur')
# enderecos_contracto = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599,0x4594cffbfc09bc5e7ecf1c2e1c1e24f0f7d29036'
# codigo, dados = consultar_preco_token(id_plataforma, enderecos_contracto, 'eur')
# print(f'codigo: {codigo}')
# if codigo == 200:
# for item in dados:
# print(f'{dados[item]}')
# for contrato in dados:
# print(f'{contrato}')
# for vs_currency in dados[contrato]:
# print(f'\t{vs_currency}: {dados[contrato][vs_currency]:0.2f}')
# https://api.coingecko.com/api/v3/coins/list
# obter todas as moedas suportadas em CoinGecko com IDs, nome, simbolo e (no caso de contractos) endereco na plataforma das moedas
@ -203,6 +213,7 @@ def consulta_ohcl(criptomoeda: str = '',
return resposta.status_code, resposta.json()
# debug (decomentar linhas seguintes para testar funcao)
# codigo, dados = consulta_ohcl('dogecoin', 'eur', precisao=5)
# print(f'codigo: {codigo}')
# for item in dados:
# print(item)
# if codigo == 200:
# print(f'codigo: {codigo}')
# for item in dados:
# print(item)