diff --git a/modulos/aux.py b/modulos/aux.py index 82b4e0b..270b52c 100644 --- a/modulos/aux.py +++ b/modulos/aux.py @@ -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 \ No newline at end of file + 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