[feature] #2: validação de chave API
função para validar chave API. falta implementação e testes
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import csv
|
import csv
|
||||||
|
|
||||||
|
|
||||||
# gravar dados importados para ficheiro csv
|
# gravar dados importados para ficheiro csv
|
||||||
def gravar_dados_ficheiro_csv(
|
def gravar_dados_ficheiro_csv(
|
||||||
nome_ficheiro: str,
|
nome_ficheiro: str,
|
||||||
@ -13,7 +14,7 @@ def gravar_dados_ficheiro_csv(
|
|||||||
|
|
||||||
Args:
|
Args:
|
||||||
nome_ficheiro (str): O nome do ficheiro CSV.
|
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.
|
gravados.
|
||||||
campos (list): Uma lista com os nomes dos campos 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\'')
|
raise ValueError('\'dados_importados\' não é do tipo \'list\'')
|
||||||
if not isinstance(campos, list):
|
if not isinstance(campos, list):
|
||||||
raise ValueError('\'campos\' não é do tipo \'list\'')
|
raise ValueError('\'campos\' não é do tipo \'list\'')
|
||||||
|
|
||||||
with open(nome_ficheiro, 'w', newline='') as ficheiro_csv_historico_precos:
|
with open(nome_ficheiro, 'w', newline='') as ficheiro_csv_historico_precos:
|
||||||
ficheiroCSV = csv.DictWriter(
|
ficheiroCSV = csv.DictWriter(
|
||||||
ficheiro_csv_historico_precos,
|
ficheiro_csv_historico_precos,
|
||||||
@ -38,6 +39,7 @@ def gravar_dados_ficheiro_csv(
|
|||||||
ficheiroCSV.writeheader()
|
ficheiroCSV.writeheader()
|
||||||
ficheiroCSV.writerows(dados_importados)
|
ficheiroCSV.writerows(dados_importados)
|
||||||
|
|
||||||
|
|
||||||
# carregar dados de ficheiro csv e guardar em lista
|
# carregar dados de ficheiro csv e guardar em lista
|
||||||
def carregar_dados_ficheiro_csv(
|
def carregar_dados_ficheiro_csv(
|
||||||
nome_ficheiro: str,
|
nome_ficheiro: str,
|
||||||
@ -48,7 +50,7 @@ def carregar_dados_ficheiro_csv(
|
|||||||
|
|
||||||
Args:
|
Args:
|
||||||
nome_ficheiro (str): O nome do ficheiro CSV.
|
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.
|
chaves dos dicionários.
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
@ -63,7 +65,7 @@ def carregar_dados_ficheiro_csv(
|
|||||||
raise ValueError('\'nome_ficheiro\' não é do tipo \'str\'')
|
raise ValueError('\'nome_ficheiro\' não é do tipo \'str\'')
|
||||||
if not isinstance(campos, list):
|
if not isinstance(campos, list):
|
||||||
raise ValueError('\'campos\' não é do tipo \'list\'')
|
raise ValueError('\'campos\' não é do tipo \'list\'')
|
||||||
|
|
||||||
with open(nome_ficheiro, 'r', newline='') as ficheiro_csv_historico_precos:
|
with open(nome_ficheiro, 'r', newline='') as ficheiro_csv_historico_precos:
|
||||||
ficheiroCSV = csv.DictReader(
|
ficheiroCSV = csv.DictReader(
|
||||||
ficheiro_csv_historico_precos,
|
ficheiro_csv_historico_precos,
|
||||||
@ -71,4 +73,17 @@ def carregar_dados_ficheiro_csv(
|
|||||||
lista_linhas_ficheiro_csv: list = []
|
lista_linhas_ficheiro_csv: list = []
|
||||||
for linha in ficheiroCSV:
|
for linha in ficheiroCSV:
|
||||||
lista_linhas_ficheiro_csv.append(linha)
|
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