Merge pull request 'features' (#3) from features into main
Reviewed-on: http://192.168.1.131:3000/sanctus/crypto_portfolio/pulls/3
This commit is contained in:
@ -9,8 +9,12 @@ import mplfinance as mpf
|
||||
# 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:
|
||||
f.write(f'CHAVE_API_DEMO = \'{chave_api}\'\n')
|
||||
if (not aux.validarChaveAPI(chave_api)):
|
||||
print(f'erro na validação da chave API {chave_api}')
|
||||
quit()
|
||||
else:
|
||||
with open('modulos/constantes.py', 'w') as f:
|
||||
f.write(f'CHAVE_API_DEMO = \'{chave_api}\'\n')
|
||||
|
||||
import modulos.coingecko_api as cgapi
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
import csv
|
||||
|
||||
|
||||
# gravar dados importados para ficheiro csv
|
||||
def gravar_dados_ficheiro_csv(
|
||||
nome_ficheiro: str,
|
||||
@ -13,7 +14,7 @@ def gravar_dados_ficheiro_csv(
|
||||
|
||||
Args:
|
||||
nome_ficheiro (str): O nome do ficheiro CSV.
|
||||
dados_importados (list): Uma lista de dicionários com os dados a serem
|
||||
dados_importados (list): Uma lista de dicionários com os dados a serem
|
||||
gravados.
|
||||
campos (list): Uma lista com os nomes dos campos a serem gravados.
|
||||
|
||||
@ -30,7 +31,7 @@ def gravar_dados_ficheiro_csv(
|
||||
raise ValueError('\'dados_importados\' não é do tipo \'list\'')
|
||||
if not isinstance(campos, list):
|
||||
raise ValueError('\'campos\' não é do tipo \'list\'')
|
||||
|
||||
|
||||
with open(nome_ficheiro, 'w', newline='') as ficheiro_csv_historico_precos:
|
||||
ficheiroCSV = csv.DictWriter(
|
||||
ficheiro_csv_historico_precos,
|
||||
@ -38,6 +39,7 @@ def gravar_dados_ficheiro_csv(
|
||||
ficheiroCSV.writeheader()
|
||||
ficheiroCSV.writerows(dados_importados)
|
||||
|
||||
|
||||
# carregar dados de ficheiro csv e guardar em lista
|
||||
def carregar_dados_ficheiro_csv(
|
||||
nome_ficheiro: str,
|
||||
@ -48,7 +50,7 @@ def carregar_dados_ficheiro_csv(
|
||||
|
||||
Args:
|
||||
nome_ficheiro (str): O nome do ficheiro CSV.
|
||||
campos (list): Uma lista de nomes de campos correspondentes aos
|
||||
campos (list): Uma lista de nomes de campos correspondentes aos
|
||||
chaves dos dicionários.
|
||||
|
||||
Raises:
|
||||
@ -63,7 +65,7 @@ def carregar_dados_ficheiro_csv(
|
||||
raise ValueError('\'nome_ficheiro\' não é do tipo \'str\'')
|
||||
if not isinstance(campos, list):
|
||||
raise ValueError('\'campos\' não é do tipo \'list\'')
|
||||
|
||||
|
||||
with open(nome_ficheiro, 'r', newline='') as ficheiro_csv_historico_precos:
|
||||
ficheiroCSV = csv.DictReader(
|
||||
ficheiro_csv_historico_precos,
|
||||
@ -71,4 +73,17 @@ def carregar_dados_ficheiro_csv(
|
||||
lista_linhas_ficheiro_csv: list = []
|
||||
for linha in ficheiroCSV:
|
||||
lista_linhas_ficheiro_csv.append(linha)
|
||||
return lista_linhas_ficheiro_csv
|
||||
return lista_linhas_ficheiro_csv
|
||||
|
||||
|
||||
# validar chave API http://192.168.1.131:3000/sanctus/crypto_portfolio/issues/1
|
||||
def validarChaveAPI(chave_api: str) -> bool:
|
||||
# remover espaços em branco
|
||||
chave_api.strip()
|
||||
# chave invalida se tamanho for diferente de 27 ('CG-' + 24)
|
||||
if len(chave_api) != 27:
|
||||
return False
|
||||
# chave inválida se primeiros 3 caracteres forem diferentes de 'CG-'
|
||||
if len(chave_api) >= 3 and chave_api[0:3] != 'CG-':
|
||||
return False
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user