File size: 2,979 Bytes
3567e13
 
 
 
 
 
 
 
 
f3a204b
3567e13
f3a204b
 
 
 
 
 
4f1f868
f3a204b
 
 
3567e13
 
 
f3a204b
3567e13
 
f3a204b
4f1f868
 
 
 
 
 
 
 
 
 
 
 
f3a204b
 
 
 
 
 
 
 
 
 
 
 
3567e13
f3a204b
 
 
3567e13
f3a204b
3567e13
f3a204b
 
4f1f868
f3a204b
 
 
 
 
 
 
 
 
 
 
 
3567e13
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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