csc-cia-stne 0.0.30__py3-none-any.whl → 0.0.31__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.
@@ -32,9 +32,7 @@ def last_modified()->datetime:
32
32
  Retorna a data da última atualização do script
33
33
 
34
34
  """
35
- current_file = os.path.abspath(__file__)
36
- current_folder = os.path.dirname(current_file)
37
- base_dir = os.path.dirname(os.path.dirname(current_file))
35
+ base_dir = os.path.abspath(os.getcwd())
38
36
 
39
37
  newest_date = None
40
38
 
@@ -0,0 +1,91 @@
1
+ from pydantic import BaseModel, field_validator, model_validator
2
+ class InitParamsValidator(BaseModel):
3
+ limit:int
4
+ id_project:str
5
+ creds_dict:dict
6
+ creds_file:str
7
+
8
+ @field_validator('limit')
9
+ def check_input_basic(cls, value, info):
10
+ if not isinstance(value, int):
11
+ raise ValueError(f"O parametro 'limit' deve ser um inteiro e não um {type(value)}")
12
+
13
+ return value
14
+
15
+ @field_validator('id_project')
16
+ def check_str_input(cls, value, info):
17
+ if not isinstance(value, str) or not value.strip():
18
+ raise ValueError(f"O parametro 'id_project' deve ser uma string e não um {type(value)} e não vazio")
19
+ return value
20
+
21
+ @model_validator(mode="after")
22
+ def check_others_input(cls, model):
23
+ creds_dict = model.creds_dict
24
+ creds_file = model.creds_file
25
+
26
+ if isinstance(creds_dict, dict):
27
+ return model
28
+
29
+ elif isinstance(creds_file, str) and creds_file.strip():
30
+ return model
31
+
32
+ else:
33
+ raise ValueError("Pelo menos um dos parâmetros 'creds_dict' ou 'creds_file' deve ser fornecido.")
34
+
35
+
36
+ class tryQueryValidator(BaseModel):
37
+
38
+ query_to_execute:str
39
+ organize:bool
40
+ use_legacy:bool
41
+ use_cache:bool
42
+ query_parameters:list
43
+
44
+ @field_validator('query_to_execute')
45
+ def check_str_input(cls, value, info):
46
+ if not isinstance(value, str) or not value.strip():
47
+ raise ValueError(f"O parametro '{info.field_name}' deve ser uma string não vazia")
48
+
49
+ return value
50
+
51
+ @field_validator('organize','use_legacy','use_cache')
52
+ def check_bool_input(cls, value, info):
53
+ if not isinstance(value, bool):
54
+ raise ValueError(f"O parametro '{info.field_name}' deve ser um boleano")
55
+
56
+ return value
57
+
58
+ @field_validator('query_parameters')
59
+ def check_list_input(cls, value, info):
60
+ if not isinstance(value, list):
61
+ raise ValueError(f"O parametro '{info.field_name}' deve ser uma lista")
62
+
63
+ return value
64
+
65
+
66
+ class tryInsertListValidator(BaseModel):
67
+
68
+ insert_limit:int
69
+ list_to_insert:list
70
+ table:str
71
+
72
+ @field_validator('list_to_insert')
73
+ def check_list_input(cls, value, info):
74
+ if not isinstance(value, list) and len(value) > 0:
75
+ raise ValueError(f"O parametro '{info.field_name}' deve ser uma lista e não estar vazia")
76
+
77
+ return value
78
+
79
+ @field_validator('table')
80
+ def check_str_input(cls, value, info):
81
+ if not isinstance(value, str) or not value.strip():
82
+ raise ValueError(f"O parametro '{info.field_name}' deve ser uma string não vazia")
83
+
84
+ return value
85
+
86
+ @field_validator('insert_limit')
87
+ def check_int_input(cls, value, info):
88
+ if not isinstance(value, int) or value > 10000:
89
+ raise ValueError(f"O parametro '{info.field_name}' deve ser um inteiro não maior que 10000")
90
+
91
+ return value
@@ -0,0 +1,39 @@
1
+
2
+ from pydantic import BaseModel, field_validator
3
+ class InitParamsValidator(BaseModel):
4
+ key: str
5
+ with_subject: str
6
+ scopes : list
7
+ version : str
8
+
9
+ @field_validator('key','with_subject', "version")
10
+ def check_str_input(cls, value, info):
11
+ if not isinstance(value, str) or not value.strip():
12
+ raise ValueError(f"O campo '{info.field_name}' deve ser strings e não {type(value)}")
13
+ return value
14
+ @field_validator('scopes')
15
+ def check_list_input(cls, value, info):
16
+ if not isinstance(value, list):
17
+ raise ValueError(f"O parametro '{info.field_name}' deve ser uma lista")
18
+
19
+ return value
20
+
21
+ class CreateFolderValidator(BaseModel):
22
+ name: str
23
+ parent_folder_id: str
24
+
25
+ @field_validator('name','parent_folder_id')
26
+ def check_str_input(cls, value, info):
27
+ if not isinstance(value, str) or not value.strip():
28
+ raise ValueError(f"O campo '{info.field_name}' deve ser strings e não {type(value)}")
29
+ return value
30
+
31
+ class ListFolderValidator(BaseModel):
32
+ query : str
33
+ spaces: str
34
+ fields : str
35
+ @field_validator('query','spaces','fields')
36
+ def check_str_input(cls, value, info):
37
+ if not isinstance(value, str) or not value.strip():
38
+ raise ValueError(f"O campo '{info.field_name}' deve ser strings e não {type(value)}")
39
+ return value
@@ -0,0 +1,164 @@
1
+ from pydantic import BaseModel, field_validator, model_validator
2
+ from typing import List
3
+
4
+
5
+ class InitParamsValidator(BaseModel):
6
+ username : str
7
+ password : str
8
+ env : str
9
+
10
+ @field_validator('username', 'password', 'env')
11
+ def check_str_input(cls, value, info):
12
+ if not isinstance(value, str) or not value.strip():
13
+ raise ValueError(f"O campo '{info.field_name}' deve ser strings e não {type(value)}")
14
+ return value
15
+
16
+ class RequestValidator(BaseModel):
17
+ url : str
18
+ params : str
19
+ timeout : int = 15
20
+
21
+ @field_validator('url', 'params')
22
+ def check_str_input(cls, value, info):
23
+ if not isinstance(value, str) or not value.strip():
24
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
25
+ return value
26
+
27
+ @field_validator('timeout')
28
+ def check_input_basic(cls, value, info):
29
+ if not isinstance(value, int):
30
+ raise ValueError(f"O campo '{info.field_name}' deve ser um inteiro e não um {type(value)}")
31
+
32
+ return value
33
+
34
+ class PutValidator(BaseModel):
35
+ url : str
36
+ payload : dict
37
+ timeout : int = 15
38
+
39
+ @field_validator('url')
40
+ def check_str_input(cls, value, info):
41
+ if not isinstance(value, str) or not value.strip():
42
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
43
+ return value
44
+
45
+ @field_validator('timeout')
46
+ def check_input_basic(cls, value, info):
47
+ if not isinstance(value, int):
48
+ raise ValueError(f"O campo '{info.field_name}' deve ser um inteiro e não um {type(value)}")
49
+ return value
50
+
51
+ @field_validator('payload')
52
+ def check_dict_input(cls, value, info):
53
+ if not isinstance(value, dict):
54
+ raise ValueError(f"O campo '{info.field_name}' deve ser um dicionário e não um {type(value)}")
55
+ return value
56
+
57
+ class PostValidator(BaseModel):
58
+ url : str
59
+ variables : dict
60
+
61
+ @field_validator('url')
62
+ def check_str_input(cls, value, info):
63
+ if not isinstance(value, str) or not value.strip():
64
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
65
+ return value
66
+
67
+ @field_validator('variables')
68
+ def check_dict_input(cls, value, info):
69
+ if not isinstance(value, dict):
70
+ raise ValueError(f"O campo '{info.field_name}' deve ser um dicionário e não um {type(value)}")
71
+ return value
72
+
73
+ class ListTicketValidator(BaseModel):
74
+ tabela : str
75
+ query : str
76
+ campos : List[str]
77
+ timeout : int
78
+ limit : int
79
+
80
+ @field_validator('tabela', 'query')
81
+ def check_str_input(cls, value, info):
82
+ if not isinstance(value, str) or not value.strip():
83
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
84
+ return value
85
+
86
+ @field_validator('timeout', 'limit')
87
+ def check_input_basic(cls, value, info):
88
+ if not isinstance(value, int):
89
+ raise ValueError(f"O campo '{info.field_name}' deve ser um inteiro e não um {type(value)}")
90
+ return value
91
+
92
+ @field_validator('campos')
93
+ def check_list_input(cls, value, info):
94
+ if not isinstance(value, list):
95
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma lista e não um {type(value)}")
96
+ return value
97
+
98
+ class UpdateTicketValidator(BaseModel):
99
+ sys_id : str
100
+ tabela : str
101
+ payload : List[str]
102
+ timeout : int
103
+
104
+ @field_validator('sys_id', 'tabela')
105
+ def check_str_input(cls, value, info):
106
+ if not isinstance(value, str) or not value.strip():
107
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
108
+ return value
109
+
110
+ @field_validator('timeout')
111
+ def check_input_basic(cls, value, info):
112
+ if not isinstance(value, int):
113
+ raise ValueError(f"O campo '{info.field_name}' deve ser um inteiro e não um {type(value)}")
114
+ return value
115
+
116
+ @field_validator('payload')
117
+ def check_list_input(cls, value, info):
118
+ if not isinstance(value, list):
119
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma lista e não um {type(value)}")
120
+ return value
121
+
122
+ class AttachFileTicketValidator(BaseModel):
123
+ header_content_type : dict
124
+ anexo_path : str
125
+ tabela : str
126
+ sys_id : str
127
+ timeout : int
128
+
129
+ @field_validator('sys_id', 'tabela', 'anexo_path')
130
+ def check_str_input(cls, value, info):
131
+ if not isinstance(value, str) or not value.strip():
132
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
133
+ return value
134
+
135
+ @field_validator('timeout')
136
+ def check_input_basic(cls, value, info):
137
+ if not isinstance(value, int):
138
+ raise ValueError(f"O campo '{info.field_name}' deve ser um inteiro e não um {type(value)}")
139
+ return value
140
+
141
+ @field_validator('header_content_type')
142
+ def check_dict_input(cls, value, info):
143
+ if not isinstance(value, dict):
144
+ raise ValueError(f"O campo '{info.field_name}' deve ser um dicionário e não um {type(value)}")
145
+ return value
146
+
147
+ class GetAttachValidator(BaseModel):
148
+ sys_id : str
149
+ tabela : str
150
+ campo :str
151
+ download_dir : str
152
+ timeout : int
153
+
154
+ @field_validator('sys_id', 'tabela', 'campo', 'download_dir')
155
+ def check_str_input(cls, value, info):
156
+ if not isinstance(value, str) or not value.strip():
157
+ raise ValueError(f"O campo '{info.field_name}' deve ser uma string e não um {type(value)} e não vazio")
158
+ return value
159
+
160
+ @field_validator('timeout')
161
+ def check_input_basic(cls, value, info):
162
+ if not isinstance(value, int):
163
+ raise ValueError(f"O campo '{info.field_name}' deve ser um inteiro e não um {type(value)}")
164
+ return value
@@ -0,0 +1,2 @@
1
+ from GoogleDriveValidator import *
2
+ from GcpBigQueryValidator import *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: csc_cia_stne
3
- Version: 0.0.30
3
+ Version: 0.0.31
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
@@ -0,0 +1,27 @@
1
+ csc_cia_stne/__init__.py,sha256=PlHybccf5ZcwFE56zRvXFKB-z7Hv0l1rp1AXuA4AlnU,1529
2
+ csc_cia_stne/bc_correios.py,sha256=ANsvLyL7wdkM0MvjjBHB2Ih4eyTcyWgt5IqiK0Rv89E,23014
3
+ csc_cia_stne/bc_sta.py,sha256=uyoCp-KTpkWwpyWNWp20JuDfMRYGCKxERnRQVso80iQ,10903
4
+ csc_cia_stne/email.py,sha256=dGgn-0_EM2-AUyz2genrokINHCaqYqAh4QC3xhl4deA,4160
5
+ csc_cia_stne/gcp_bigquery.py,sha256=yNCx0yD1peoxOKEiu2Ml6FfDtXUTzcJGcypjWPH8QqE,7449
6
+ csc_cia_stne/google_drive.py,sha256=3kGd4swPr6fLUJnQplq4VzAgF8X0Ho0Ke4JJN4RE-_8,10388
7
+ csc_cia_stne/karavela.py,sha256=Q7MbQXXz_jtrLHM7QeenbSzcro07EpoFk4lKglivJ_I,3564
8
+ csc_cia_stne/logger_json.py,sha256=W6Fj0G1-TWXHdHoLLX5SbVV7BSpVvjHm1fkKI5Q69YQ,3129
9
+ csc_cia_stne/logger_rich.py,sha256=4KVwxz87AA52qEMpgCh1SlS--7a57LK4Y4HSnKmRruc,7514
10
+ csc_cia_stne/provio.py,sha256=TF6_1uygkzftkhsOn6eMGkNqIWliKwcvh54RM10WzRo,2383
11
+ csc_cia_stne/servicenow.py,sha256=Dg67Vk0_P1NDFYn10HgQrkSPq4Useg6L2V7Bu7JNOuc,36441
12
+ csc_cia_stne/stne_admin.py,sha256=G5ozXt18VjKL2BHtROQk4GnfVY1xM14RXSQ-rra_D54,15487
13
+ csc_cia_stne/utilitarios/__init__.py,sha256=4YFhzxu8F_CDHU6iaNhpzz9mfX-8wfJc1XEQInJzwJ4,98
14
+ csc_cia_stne/utilitarios/functions/__init__.py,sha256=X0PmuSe0RilU824Lvlg-DtO0qDb_D_VfL4ftzR93d40,180
15
+ csc_cia_stne/utilitarios/functions/func_b64.py,sha256=XGU34BIQQXWXBS0yM2B4A2wDlcrMl1unIJXjq4lpLnk,1254
16
+ csc_cia_stne/utilitarios/functions/func_converters.py,sha256=EY1zvlBaRX7G1MceVSiRXwwKDQDZwUO9iECBL0fe5iU,481
17
+ csc_cia_stne/utilitarios/functions/func_recriar_pastas.py,sha256=2_unoSoQHxShcMw_0XIL9F0NgiF1QCKsX4drvg0fEb8,415
18
+ csc_cia_stne/utilitarios/functions/func_titulo.py,sha256=IMiTKdlMkOGHPJmPZEj2HnBEfOu2uDoUNkaqZxiZq54,3829
19
+ csc_cia_stne/utilitarios/validations/GcpBigQueryValidator.py,sha256=BSJ84FBuOxbhYpyoebGMW15t0np9PHA8OCHFjkLOIRA,2984
20
+ csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py,sha256=OaT6F98RyP3iIMsIQMc0CCDUt0u7EkKxG_UoHm2ME3c,1376
21
+ csc_cia_stne/utilitarios/validations/ServiceNowValidator.py,sha256=9IS3ucuLXeeebfVpvywEu9OiN-BfbXTuowTBEotUbow,5991
22
+ csc_cia_stne/utilitarios/validations/__init__.py,sha256=Ssqi3Gl2ffDLoIIAgwoV6gHJ62lBbA8k-aZJJ9awEXw,69
23
+ csc_cia_stne-0.0.31.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
24
+ csc_cia_stne-0.0.31.dist-info/METADATA,sha256=E5hB1eTW6Rzj5xiNemAg9_G6Hqcohye0se4dx3m5MHI,1003
25
+ csc_cia_stne-0.0.31.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
26
+ csc_cia_stne-0.0.31.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
27
+ csc_cia_stne-0.0.31.dist-info/RECORD,,
@@ -1,21 +0,0 @@
1
- csc_cia_stne/__init__.py,sha256=YWdjycJayT0s18tVJJmOq30j8EPM90yWLoekaEV4LoM,1133
2
- csc_cia_stne/bc_correios.py,sha256=ANsvLyL7wdkM0MvjjBHB2Ih4eyTcyWgt5IqiK0Rv89E,23014
3
- csc_cia_stne/bc_sta.py,sha256=uyoCp-KTpkWwpyWNWp20JuDfMRYGCKxERnRQVso80iQ,10903
4
- csc_cia_stne/email.py,sha256=dGgn-0_EM2-AUyz2genrokINHCaqYqAh4QC3xhl4deA,4160
5
- csc_cia_stne/gcp_bigquery.py,sha256=zFH8_BDXzN0OKusY-Igt7lVN8xKITxij0xwUeYlQtiI,10314
6
- csc_cia_stne/karavela.py,sha256=Q7MbQXXz_jtrLHM7QeenbSzcro07EpoFk4lKglivJ_I,3564
7
- csc_cia_stne/logger_json.py,sha256=eoaVHQMSM9znoLsDOZltX8p60RnV9qFANCCyl4aCflQ,1678
8
- csc_cia_stne/logger_rich.py,sha256=0fpLuQLeyl_DCbBn32QfNNoMsY_8WREyVjOiXT5Zu8k,7143
9
- csc_cia_stne/servicenow.py,sha256=vSsNSANFyCZtDu2O7YmdoCbr-_bO1sgMWnOI29mFBOA,23311
10
- csc_cia_stne/stne_admin.py,sha256=G5ozXt18VjKL2BHtROQk4GnfVY1xM14RXSQ-rra_D54,15487
11
- csc_cia_stne/utilitarios/__init__.py,sha256=4YFhzxu8F_CDHU6iaNhpzz9mfX-8wfJc1XEQInJzwJ4,98
12
- csc_cia_stne/utilitarios/functions/__init__.py,sha256=X0PmuSe0RilU824Lvlg-DtO0qDb_D_VfL4ftzR93d40,180
13
- csc_cia_stne/utilitarios/functions/func_b64.py,sha256=XGU34BIQQXWXBS0yM2B4A2wDlcrMl1unIJXjq4lpLnk,1254
14
- csc_cia_stne/utilitarios/functions/func_converters.py,sha256=EY1zvlBaRX7G1MceVSiRXwwKDQDZwUO9iECBL0fe5iU,481
15
- csc_cia_stne/utilitarios/functions/func_recriar_pastas.py,sha256=2_unoSoQHxShcMw_0XIL9F0NgiF1QCKsX4drvg0fEb8,415
16
- csc_cia_stne/utilitarios/functions/func_titulo.py,sha256=EhUtsiIOAz4yERNZl3EOHjiFLjj4rK3pr_KB0DxwGIA,3943
17
- csc_cia_stne-0.0.30.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
18
- csc_cia_stne-0.0.30.dist-info/METADATA,sha256=7tD1oNfeJaT3DrCmWa0rSO7CaGbdmFxr7A2EJ0g5wu8,1003
19
- csc_cia_stne-0.0.30.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
20
- csc_cia_stne-0.0.30.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
21
- csc_cia_stne-0.0.30.dist-info/RECORD,,