GUI-Portfolio / util /data_config.py
wendellast's picture
projects
4f1f868
import json
try:
with open("data/config.json", "r", encoding="UTF-8") as file:
config: dict = json.load(file)
except:
raise "ERROr ao carregar config.json"
def extrair_dados_config(config = config):
try:
if "config" not in config:
raise KeyError("'config' não encontrado no dicionário.")
config_data = config["config"]
# Extraindo as regras
if "rules" not in config_data:
raise KeyError("'rules' não encontrado em 'config'.")
regras: str = "\n".join(
[
f"- {rule['rule_name']}: {rule['description']}"
for rule in config_data["rules"]
]
)
# Extraindo os projetos
if "projects" not in config_data:
raise KeyError("'projects' não encontrado em 'config'.")
projetos: str = "\n".join(
[
f"- {project['name']}: {project['description']} - Ação: {project['action']}"
for project in config_data["projects"]
]
)
# Extraindo as informações do desenvolvedor
if "developers Hublast" not in config_data:
raise KeyError("'developers Hublast' não encontrado em 'config'.")
desenvolvedor_info = config_data["developers Hublast"].get("wendellast", {})
desenvolvedor_name: str = desenvolvedor_info.get("name", "Nome não disponível")
desenvolvedor_nickname: str = desenvolvedor_info.get("nickname", "Nickname não disponível")
desenvolvedor_function: str = desenvolvedor_info.get("function", "Função não disponível")
desenvolvedor_github: str = desenvolvedor_info.get("github", "GitHub não disponível")
desenvolvedor_portfolio: str = desenvolvedor_info.get("portfolio", "Portfolio não disponível")
desenvolvedor_profile: str = desenvolvedor_info.get("profile", "Perfil não disponível")
desenvolvedor_email: str = desenvolvedor_info.get("email", "Email não disponível")
desenvolvedor_resumo: list = desenvolvedor_info.get("resumo", ["Resumo não disponível"])
name_gui: str = config_data.get("name", "Nome do GUI não disponível")
country: str = config_data.get("status", {}).get("country", "País não disponível")
desenvolvedor_description: dict = config_data.get("developers Hublast", {})
return (
regras,
projetos,
desenvolvedor_name,
desenvolvedor_nickname,
desenvolvedor_function,
desenvolvedor_github,
desenvolvedor_portfolio,
desenvolvedor_profile,
desenvolvedor_email,
desenvolvedor_resumo,
desenvolvedor_description,
name_gui,
country,
)
except KeyError as e:
print(f"Erro ao acessar a chave: {e}")
return None