Adding configuration getters.

replay_error
Pedro de Oliveira Guedes 2022-01-18 08:29:02 -03:00
parent d83ff98365
commit fb43dccea6
1 changed files with 87 additions and 0 deletions

View File

@ -2,6 +2,7 @@ from datetime import datetime
import json import json
import os import os
import requests import requests
import urllib
class Replay: class Replay:
""" """
@ -246,3 +247,89 @@ class Replay:
return self.__request_json_post__ ("/api/v1/log/add", log) return self.__request_json_post__ ("/api/v1/log/add", log)
def config_get (self, config_name: str):
"""
## Configuration Getter
Este método busca a configuração associada ao nome recebido no repositório atual.
---
#### Parâmetros:
- config_name: Nome da configuração que se quer procurar o valor.
---
#### Retorna:
-> O valor associado à configuração procurada.
"""
config_name = urllib.parse.quote(config_name, "")
return self.__request_get__(f"/api/v1/config/byrepo/{int(os.path.basename(os.getcwd()))}/{config_name}")
def config_get_global (self, config_name: str):
"""
## Global Configuration Getter
Este método procura em todos os repositórios uma correspondência à configuração recebida.
---
#### Parâmetros:
- config_name: Nome da configuração que se quer buscar em todos os repositórios instalados.
---
#### Retorna:
-> O valor da configuração encontrada.
"""
config_name = urllib.parse.quote(config_name, "")
return self.__request_get__("/api/v1/config/global/"+config_name)
def config_get_all (self):
"""
## All Configuration Getter
Este método busca por todas as configurações contidas no repositório atual.
---
#### Parâmetros:
---
---
#### Retorna:
-> Uma lista de dicionários contendo todas as configs e informações sobre elas. Por exemplo:
[
{
"id": número associado a config na base de dados do replay,
"k": nome associado à config na base de dados do replay,
"v" valor atribuído à config,
"t": tipo da config em questão (que pode ser 't', 'p' ou 'json'),
"repo": repositório ao qual a configuração está associada
}
]
"""
return self.__request_get__(f"/api/v1/config/byrepo/{int(os.path.basename(os.getcwd()))}")
def config_get_map (self) -> dict[str, dict]:
"""
## Configuration Getter Mapper
Este método executa o método "config_get_all" para conseguir todas as configurações alocadas para o reposiório do projeto atual. Após isso, cria um dicionário de strings para outros dicionários contendo as configurações recebidas. As strings do primeiro dicionário são o nome associado à configuração.
---
#### Parâmetros:
---
---
#### Retorna:
-> Dicionário de strings (nome da configuração) para dicionários (todas as propriedades da configuração).
"""
dict_configs = {}
configs = self.config_get_all()
for config in configs:
dict_configs[config["k"]] = config
return dict_configs