csc-cia-stne 0.0.17__py3-none-any.whl → 0.0.18__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
csc_cia_stne/__init__.py CHANGED
@@ -11,4 +11,5 @@ from .servicenow import ServiceNow
11
11
  from .stne_admin import StoneAdmin
12
12
  from .bc_sta import BC_STA
13
13
  from .bc_correios import BC_Correios
14
- from .gcp_bigquery import BigQuery
14
+ from .gcp_bigquery import BigQuery
15
+ from .functions import titulo
csc_cia_stne/functions.py CHANGED
@@ -8,6 +8,27 @@ from rich.style import Style
8
8
  import json
9
9
  import shutil
10
10
  import logging
11
+ from pydantic import BaseModel
12
+ from pydantic import ValidationError, field_validator
13
+
14
+ # Classe para validar - titulo
15
+ class TituloSettings(BaseModel):
16
+
17
+ # Titulo
18
+ project_name: str
19
+ project_version: str
20
+ project_dev_name: str
21
+ project_dev_mail: str
22
+ # Validador para garantir que nenhum campo seja uma string vazia
23
+
24
+ @field_validator('project_name', 'project_version', 'project_dev_name', 'project_dev_mail')
25
+ def check_non_empty_string(cls, value, info):
26
+ if not isinstance(value, str) or not value.strip():
27
+
28
+ raise ValueError(f"O parâmetro '{info.field_name}' deve ser uma string não vazia.")
29
+
30
+ return value
31
+
11
32
 
12
33
  # Retorna data de modificação
13
34
  def last_modified()->datetime:
@@ -40,35 +61,52 @@ def last_modified()->datetime:
40
61
 
41
62
  return last_modified_date
42
63
 
43
- def titulo():
44
-
45
- if os.getenv('ambiente_de_execucao') is None or os.getenv('ambiente_de_execucao') != "karavela":
46
-
47
- estilo_box = Style(bold=True)
48
- print(
49
- Panel(
50
- f"""
51
- [bold chartreuse3]CIA [bold white]| [bold chartreuse3]Centro de Inteligência e Automação [bold white]([bold chartreuse3]cia@stone.com.br[bold white])[bold green]\n
52
- Projeto[bold white]: [bold green]{os.getenv('project_name')}\n
53
- Versão[bold white]: [bold green]{os.getenv('project_version')}\n
54
- Dev[bold white]: [bold green]{os.getenv('project_dev_name')} [bold white]([bold green]{os.getenv('project_dev_mail')}[bold white])[bold green]\n
55
- Última atualização[bold white]: [bold green]{last_modified()}
56
- """,
57
- title="Stone",
58
- subtitle="CSC-CIA",
59
- style=estilo_box,
60
- border_style="bold chartreuse3"
61
- )
62
- )
63
-
64
- else:
65
-
66
- logging.info("CSC | CIA - Centro de Inteligência e Automação")
67
- logging.info(f"Projeto: {os.getenv('project_name')}")
68
- logging.info(f"\tVersão: {os.getenv('project_version')} (Última modificação: {last_modified()})")
69
- logging.info("\tTime: CIA <cia@stone.com.br>")
70
- logging.info(f"\tDesenvolvedor: {os.getenv('project_dev_name')} <{os.getenv('project_dev_mail')}>")
71
- logging.info("-")
64
+ def titulo(project_name:str,project_version:str,project_dev_name:str,project_dev_mail:str):
65
+
66
+ try:
67
+ settings = TituloSettings(project_name=project_name,project_version=project_version,project_dev_name=project_dev_name,project_dev_mail=project_dev_mail)
68
+ return settings
69
+
70
+ except ValidationError as e:
71
+ # Extrair os detalhes da exceção
72
+ errors = e.errors()
73
+ missing_vars = [error['loc'][0] for error in errors if error['type'] == 'missing']
74
+
75
+ # Criar uma mensagem personalizada
76
+ if missing_vars:
77
+ missing_vars_str = ', '.join(missing_vars)
78
+ raise ValueError(
79
+ f"As seguintes variáveis obrigatórias estão ausentes no arquivo .env ou nas variáveis de ambiente da máquina, impossibi: {missing_vars_str}"
80
+ )
81
+ else:
82
+
83
+ if os.getenv('ambiente_de_execucao') is None or os.getenv('ambiente_de_execucao') != "karavela":
84
+
85
+ estilo_box = Style(bold=True)
86
+ print(
87
+ Panel(
88
+ f"""
89
+ [bold chartreuse3]CIA [bold white]| [bold chartreuse3]Centro de Inteligência e Automação [bold white]([bold chartreuse3]cia@stone.com.br[bold white])[bold green]\n
90
+ Projeto[bold white]: [bold green]{os.getenv('project_name')}\n
91
+ Versão[bold white]: [bold green]{os.getenv('project_version')}\n
92
+ Dev[bold white]: [bold green]{os.getenv('project_dev_name')} [bold white]([bold green]{os.getenv('project_dev_mail')}[bold white])[bold green]\n
93
+ Última atualização[bold white]: [bold green]{last_modified()}
94
+ """,
95
+ title="Stone",
96
+ subtitle="CSC-CIA",
97
+ style=estilo_box,
98
+ border_style="bold chartreuse3"
99
+ )
100
+ )
101
+
102
+ else:
103
+
104
+ logging.info("CSC | CIA - Centro de Inteligência e Automação")
105
+ logging.info(f"Projeto: {os.getenv('project_name')}")
106
+ logging.info(f"\tVersão: {os.getenv('project_version')} (Última modificação: {last_modified()})")
107
+ logging.info("\tTime: CIA <cia@stone.com.br>")
108
+ logging.info(f"\tDesenvolvedor: {os.getenv('project_dev_name')} <{os.getenv('project_dev_mail')}>")
109
+ logging.info("-")
72
110
 
73
111
  def recriar_pasta(caminho_pasta):
74
112
 
csc_cia_stne/settings.py CHANGED
@@ -43,7 +43,7 @@ def load_settings():
43
43
  f"As seguintes variáveis obrigatórias estão ausentes no arquivo .env ou nas variáveis de ambiente da máquina: {missing_vars_str}\n"
44
44
  "Outras variáveis, não obrigatórias: 'ambiente_de_execução' ('local' ou 'karavela') e 'log_level' ('DEBUG', 'INFO', etc)"
45
45
  )
46
-
47
- titulo()
48
-
46
+ else:
47
+ titulo()
48
+
49
49
  settings = load_settings()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: csc_cia_stne
3
- Version: 0.0.17
3
+ Version: 0.0.18
4
4
  Summary: Biblioteca do time CSC-CIA utilizada no desenvolvimento de RPAs
5
5
  License: MIT
6
6
  Keywords: karavela,csc,cia,stone,rpa
@@ -1,17 +1,17 @@
1
- csc_cia_stne/__init__.py,sha256=dmkzdj7Jvw0jI_ysuSooYrxKrdKL6dYSo7SONMwjU-4,451
1
+ csc_cia_stne/__init__.py,sha256=ENepyLrwd7fsI2TgXimCvxSIK_U-KRvXWTbT1b_bSRA,481
2
2
  csc_cia_stne/bc_correios.py,sha256=ANsvLyL7wdkM0MvjjBHB2Ih4eyTcyWgt5IqiK0Rv89E,23014
3
3
  csc_cia_stne/bc_sta.py,sha256=I9N29wjTbd4ZmoM2yIW-xp3X-dMENZdSb0JhapfCegY,10988
4
- csc_cia_stne/functions.py,sha256=4hORd_tqzXm5VL-AuIOv-ZkWsUqdC6COe9G_ttVFNUg,3004
4
+ csc_cia_stne/functions.py,sha256=PMMpmPC7krlyV-Osai6BjeogDMXiFw8DGVGrPRZUWyM,4698
5
5
  csc_cia_stne/gcp_bigquery.py,sha256=f8UEQgr6XyFacYX0bRq4UDmWoH-0XqZF8fA2LsLTtAU,5654
6
6
  csc_cia_stne/karavela.py,sha256=Q7MbQXXz_jtrLHM7QeenbSzcro07EpoFk4lKglivJ_I,3564
7
7
  csc_cia_stne/logger_json.py,sha256=2G0rm0lyCtHn4o2v7fzn4wMylb0A_nbxiQatnrSZxHs,1212
8
8
  csc_cia_stne/logger_rich.py,sha256=LU6VGnus-1tPmdacuIphTDxxfQU0Uvl68BKVKLDuHzg,3290
9
9
  csc_cia_stne/servicenow.py,sha256=vSsNSANFyCZtDu2O7YmdoCbr-_bO1sgMWnOI29mFBOA,23311
10
- csc_cia_stne/settings.py,sha256=Z0JxshKlC7Oz1-iR8H5Y-tgstL_iQpYneaeMDQ3PW1o,1600
10
+ csc_cia_stne/settings.py,sha256=26Q9cYC1gGLrds8bDvowmol520-1GOt_8pziRd7nczY,1629
11
11
  csc_cia_stne/stne_admin.py,sha256=G5ozXt18VjKL2BHtROQk4GnfVY1xM14RXSQ-rra_D54,15487
12
12
  csc_cia_stne/utilitarios.py,sha256=LU8YrELiRIW4UxqULjiUPYmgbEx79NGenK5QKRdSh_E,2050
13
- csc_cia_stne-0.0.17.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
14
- csc_cia_stne-0.0.17.dist-info/METADATA,sha256=TicP94TngLb8-IYZOWavAHHq3tD0EUSs44vaPecK_8A,1003
15
- csc_cia_stne-0.0.17.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
16
- csc_cia_stne-0.0.17.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
17
- csc_cia_stne-0.0.17.dist-info/RECORD,,
13
+ csc_cia_stne-0.0.18.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
14
+ csc_cia_stne-0.0.18.dist-info/METADATA,sha256=lR1djKlVfGxZK8OdfgXpeY9l8hxTqNp3DWTrvg64iCA,1003
15
+ csc_cia_stne-0.0.18.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
16
+ csc_cia_stne-0.0.18.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
17
+ csc_cia_stne-0.0.18.dist-info/RECORD,,