adicionada chamada 'nfts_collection_data_by_contract_address()'

This commit is contained in:
2024-06-17 16:08:03 +01:00
parent 75c352d27f
commit c1250bf951

View File

@ -1490,7 +1490,7 @@ def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]:
'''
# dicionario de parametros
api_parameters: dict = {
'id': ''
'id': '',
}
# validacao de parametros
# id_nft ( como 'id' é um nome reservado, foi usado outro nome)
@ -1512,16 +1512,43 @@ def nfts_collection_data_by_id(id_nft: str = '') -> tuple[str, int, dict]:
# else:
# print(f'erro {codigo}: {dados}')
def nfts_collection_data_by_contrat_address() -> tuple[str, int, dict]:
pass
def nfts_collection_data_by_contract_address(
asset_platform_id: str = '',
contract_address: str = ''
) -> tuple[str, int, dict]:
'''https://docs.coingecko.com/v3.0.1/reference/nfts-contract-address
este endpoint permite obter toda a informação do NFT (nome, preco minimo, volume 24hrs, etc)
a partir do endereco de contracto da colecao NFT e respectiva plataforma de activo
'''
# dicionario parametros
api_parameters: dict = {
'asset_platform_id': '',
'contract_address': '',
}
# validacao de parametros
# asset_platform_id
if not isinstance(asset_platform_id, str):
raise TypeError('\'asset_platform_id\' tem de ser do tipo \'str\'')
if asset_platform_id == '':
raise ValueError('\'asset_platform_id\' tem de ser definido')
api_parameters['asset_platform_id'] = asset_platform_id
# 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'nfts/{api_parameters['asset_platform_id']}/contract/{api_parameters['contract_address']}', api_parameters)
# debug (decomentar linhas seguintes para testar funcao)
# url, codigo, dados = <nome_chamada_api()>
# url, codigo, dados = nfts_collection_data_by_contract_address('ethereum', '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d')
# print(f'url: {url}')
# if codigo == 200:
# for item in dados:
# print(item)
# print(f'{item}: {dados[item]}')
# else:
# print(f'erro {codigo}: {dados}')