[fix] #1: erro ao introduzir chave API

correção do erro indicado em #1: introdução da chave API é feita antes
de chamada do contexto 'with'
This commit is contained in:
2024-08-22 20:58:41 +01:00
parent 1f96744ec0
commit 98dfe55519

View File

@ -5,11 +5,11 @@ import modulos.aux as aux
import pandas as pd
import mplfinance as mpf
# se não houver ficheiro 'modulos/constantes.py' criar ficheiro com
# se não houver ficheiro 'modulos/constantes.py' criar ficheiro com
# a chave da API 'CHAVE_API_DEMO'
if not os.path.exists('modulos/constantes.py'):
chave_api = input('Introduza a chave da API Demo de CoinGecko: ')
with open('modulos/constantes.py', 'w') as f:
chave_api = input('Introduza a chave da API Demo de CoinGecko: ')
f.write(f'CHAVE_API_DEMO = \'{chave_api}\'\n')
import modulos.coingecko_api as cgapi
@ -28,7 +28,7 @@ cabecalho: list = [
'Close'
]
historico_precos_header = [
historico_precos_header = [
"data",
"moeda",
"open",
@ -60,12 +60,12 @@ with open(caminho_ficheiro_historico_csv,
lista_linhas_ficheiro_csv.append(linha)
# obter dados de coingecko
url, codigo, dados_ohlc = cgapi.coin_ohlc_chart_by_id(criptomoeda, vs_currency,
url, codigo, dados_ohlc = cgapi.coin_ohlc_chart_by_id(criptomoeda, vs_currency,
days=dias, precision=3)
# processar dados coigecko
if codigo == 200:
#print(len(dados_ohlc))
# print(len(dados_ohlc))
lista_dados_coingecko: list = []
for index in range(0, len(dados_ohlc)):
data = time.gmtime(dados_ohlc[index][0]/1000)
@ -84,8 +84,8 @@ else:
print('erro ao obter dados')
print(f'erro {codigo}: {dados_ohlc}')
# adicionar items de lista_dados_coingecko se não existirem em
# lista_linhas_ficheiro_csv
# adicionar items de lista_dados_coingecko se não existirem em
# lista_linhas_ficheiro_csv
# (aka: adicionar apenas items novos a lista_linhas_ficheiro_csv)
for item_resposta in lista_dados_coingecko:
item_existe: bool = False
@ -112,7 +112,7 @@ dados = aux.carregar_dados_ficheiro_csv(
print(f'{len(dados)} dados carregados')
# preparar dados para plotar
dados = dados[1:] # remover cabecalho
dados = dados[1:] # remover cabecalho
for item in dados:
item[cabecalho[0]] = pd.to_datetime(int(item[cabecalho[0]]), unit='ms')
item[cabecalho[3]] = float(item[cabecalho[3]])