adicionada chamada 'coin_historical_chart_data_by_token_address()'
This commit is contained in:
@ -833,7 +833,7 @@ def coin_ohlc_chart_by_id(
|
||||
|
||||
|
||||
def coin_data_by_token_address(
|
||||
id_criptomoeda: str = '',
|
||||
id_platform: str = '',
|
||||
contract_address: str = ''
|
||||
) -> tuple:
|
||||
'''https://docs.coingecko.com/v3.0.1/reference/coins-contract-address
|
||||
@ -848,12 +848,12 @@ def coin_data_by_token_address(
|
||||
'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
|
||||
# id_platform (como 'id' é nome reservado, foi usado outro nome)
|
||||
if not isinstance(id_platform, str):
|
||||
raise TypeError('\'id_platform\' tem de ser do tipo \'str\'')
|
||||
if id_platform == '':
|
||||
raise ValueError('\'id_platform\' tem de ser definido')
|
||||
api_parameters['id'] = id_platform
|
||||
# contract_address
|
||||
if not isinstance(contract_address, str):
|
||||
raise TypeError('\'contract_address\' tem de ser do tipo \'str\'')
|
||||
@ -874,16 +874,84 @@ def coin_data_by_token_address(
|
||||
# print(f'erro {codigo}: {dados}')
|
||||
|
||||
|
||||
def coin_historical_chart_data_by_token_address() -> tuple:
|
||||
pass
|
||||
def coin_historical_chart_data_by_token_address(
|
||||
id_platform: str = '',
|
||||
contract_address: str = '',
|
||||
vs_currency: str = '',
|
||||
days: str = '',
|
||||
interval: str = '',
|
||||
precision: str | int = 'full'
|
||||
) -> tuple:
|
||||
'''https://docs.coingecko.com/v3.0.1/reference/contract-address-market-chart
|
||||
|
||||
este endpoint permite consultar dados historicos graficos incluindo tempo UNIX,
|
||||
preco, capitalização de mercado e volume 24hrs a partir da plataforma do activo e
|
||||
endereco de contracto do token
|
||||
'''
|
||||
# dicionario parameters
|
||||
api_parameters: dict = {
|
||||
'id': '',
|
||||
'contract_address': '',
|
||||
'vs_currency': '',
|
||||
'days': '',
|
||||
'interval': '',
|
||||
'precision': '',
|
||||
}
|
||||
# validacao de parametros
|
||||
# id_platform (como 'id' é nome reservado, foi usado outro nome)
|
||||
if not isinstance(id_platform, str):
|
||||
raise TypeError('\'id_platform\' tem de ser do tipo \'str\'')
|
||||
if id_platform == '':
|
||||
raise ValueError('\'id_platform\' tem de ser definido')
|
||||
api_parameters['id'] = id_platform
|
||||
# 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
|
||||
# vs_currency
|
||||
if not isinstance(vs_currency, str):
|
||||
raise TypeError('\'vs_currency\' tem de ser do tipo \'str\'')
|
||||
if vs_currency == '':
|
||||
raise ValueError('\'vs_currency\' tem de ser definido')
|
||||
api_parameters['vs_currency'] = vs_currency
|
||||
# days
|
||||
if not isinstance(days, str):
|
||||
raise TypeError('\'days\' tem de ser do tipo \'str\'')
|
||||
if days == '':
|
||||
raise ValueError('\'days\' tem de ser definido')
|
||||
api_parameters['days'] = days
|
||||
# interval
|
||||
if not isinstance(interval, str):
|
||||
raise TypeError('\'interval\' tem de ser do tipo \'str\'')
|
||||
api_parameters['interval'] = interval
|
||||
# precision
|
||||
if not isinstance(precision, (str, int)):
|
||||
raise TypeError('\'precision\' tem de ser do tipo \'(str, int)\'')
|
||||
if isinstance(precision, str):
|
||||
if precision != 'full':
|
||||
precision = 'full'
|
||||
if precision == 'full':
|
||||
precision = '18'
|
||||
precision = int(precision)
|
||||
if isinstance(precision, int):
|
||||
if precision < 0:
|
||||
precision = 0
|
||||
if precision > 18:
|
||||
precision = 18
|
||||
precision = str(precision)
|
||||
api_parameters['precision'] = precision
|
||||
|
||||
return API(f'coins/{api_parameters['id']}/contract/{api_parameters['contract_address']}/market_chart', api_parameters)
|
||||
|
||||
|
||||
# debug (decomentar linhas seguintes para testar funcao)
|
||||
# url, codigo, dados = <nome_chamada_api()>
|
||||
# url, codigo, dados = coin_historical_chart_data_by_token_address('ethereum','0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48','eur','1')
|
||||
# print(f'url: {url}')
|
||||
# if codigo == 200:
|
||||
# for item in dados:
|
||||
# print(item)
|
||||
# print(f'{item}: {dados[item]}')
|
||||
# else:
|
||||
# print(f'erro {codigo}: {dados}')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user