csc-cia-stne 0.0.33__py3-none-any.whl → 0.0.34__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 +6 -6
- csc_cia_stne/provio.py +39 -5
- {csc_cia_stne-0.0.33.dist-info → csc_cia_stne-0.0.34.dist-info}/METADATA +1 -1
- {csc_cia_stne-0.0.33.dist-info → csc_cia_stne-0.0.34.dist-info}/RECORD +7 -7
- {csc_cia_stne-0.0.33.dist-info → csc_cia_stne-0.0.34.dist-info}/LICENCE +0 -0
- {csc_cia_stne-0.0.33.dist-info → csc_cia_stne-0.0.34.dist-info}/WHEEL +0 -0
- {csc_cia_stne-0.0.33.dist-info → csc_cia_stne-0.0.34.dist-info}/top_level.txt +0 -0
csc_cia_stne/__init__.py
CHANGED
@@ -13,7 +13,7 @@ from .provio import Provio
|
|
13
13
|
|
14
14
|
# Define os itens disponíveis para importação
|
15
15
|
__all__ = [
|
16
|
-
"
|
16
|
+
"Karavela",
|
17
17
|
"BigQuery",
|
18
18
|
"BC_Correios",
|
19
19
|
"BC_STA",
|
@@ -25,14 +25,14 @@ __all__ = [
|
|
25
25
|
"Email"
|
26
26
|
]
|
27
27
|
|
28
|
-
|
29
|
-
|
28
|
+
_diretorio_inicial = os.getcwd()
|
29
|
+
_caminho_env = os.path.join(_diretorio_inicial, ".env")
|
30
30
|
|
31
31
|
# Carrega .env
|
32
|
-
load_dotenv(
|
32
|
+
load_dotenv(_caminho_env)
|
33
33
|
logger = None # Inicializa como None
|
34
34
|
|
35
|
-
def
|
35
|
+
def _running_in_container():
|
36
36
|
|
37
37
|
if os.environ.get("KUBERNETES_SERVICE_HOST") or os.path.exists("/.dockerenv"):
|
38
38
|
|
@@ -60,7 +60,7 @@ def logger():
|
|
60
60
|
|
61
61
|
return get_logger_json()
|
62
62
|
|
63
|
-
elif
|
63
|
+
elif _running_in_container():
|
64
64
|
|
65
65
|
return get_logger_json()
|
66
66
|
|
csc_cia_stne/provio.py
CHANGED
@@ -2,29 +2,63 @@ import logging
|
|
2
2
|
import requests
|
3
3
|
from requests.auth import HTTPBasicAuth
|
4
4
|
from pydantic import BaseModel, Field, ValidationError
|
5
|
+
from typing import List, Dict, Union
|
5
6
|
|
6
7
|
# Validadores
|
7
8
|
class ProvioModel(BaseModel):
|
9
|
+
"""
|
10
|
+
Modelo para validação das credenciais de autenticação.
|
11
|
+
"""
|
8
12
|
username: str = Field(..., strip_whitespace=True, min_length=1)
|
9
13
|
password: str = Field(..., strip_whitespace=True, min_length=1)
|
10
14
|
|
11
15
|
class ExportarRelatorioParams(BaseModel):
|
16
|
+
"""
|
17
|
+
Modelo para validação dos parâmetros do relatório.
|
18
|
+
"""
|
12
19
|
ano: int = Field(..., gt=2015, description="O ano deve ser maior que 2015")
|
13
20
|
mes: int = Field(..., ge=1, le=12, description="O mês deve estar entre 1 e 12")
|
14
21
|
|
15
22
|
# Classe provio
|
16
23
|
class Provio:
|
17
|
-
|
18
|
-
|
19
|
-
|
24
|
+
"""
|
25
|
+
Classe para interagir com a API do Provio.
|
26
|
+
"""
|
27
|
+
|
28
|
+
def __init__(self, username: str, password: str):
|
29
|
+
"""
|
30
|
+
Inicializa a classe com as credenciais de autenticação.
|
31
|
+
|
32
|
+
Args:
|
33
|
+
username (str): Nome de usuário para autenticação.
|
34
|
+
password (str): Senha para autenticação.
|
35
|
+
|
36
|
+
Raises:
|
37
|
+
ValidationError: Se as credenciais forem inválidas de acordo com o modelo `ProvioModel`.
|
38
|
+
"""
|
20
39
|
# Validação usando Pydantic
|
21
40
|
data = ProvioModel(username=username, password=password)
|
22
41
|
|
23
42
|
self.api_url = "https://provio.apps.stone.com.br/api/reports"
|
24
43
|
self.auth = HTTPBasicAuth(data.username, data.password)
|
25
44
|
|
26
|
-
def exportar_relatorio_geral(self, ano:int, mes:int):
|
27
|
-
|
45
|
+
def exportar_relatorio_geral(self, ano: int, mes: int) -> Dict[str, Union[bool, str, List[Dict]]]:
|
46
|
+
"""
|
47
|
+
Exporta o relatório geral para o período especificado.
|
48
|
+
|
49
|
+
Args:
|
50
|
+
ano (int): Ano do relatório (deve ser maior que 2015).
|
51
|
+
mes (int): Mês do relatório (deve estar entre 1 e 12).
|
52
|
+
|
53
|
+
Returns:
|
54
|
+
Dict[str, Union[bool, str, List[Dict]]]: Um dicionário contendo:
|
55
|
+
- `success` (bool): Indica se a exportação foi bem-sucedida.
|
56
|
+
- `error` (str): Mensagem de erro, se houver.
|
57
|
+
- `report` (List[Dict]): Lista de registros exportados, se `success` for `True`.
|
58
|
+
|
59
|
+
Raises:
|
60
|
+
ValidationError: Se os parâmetros `ano` e `mes` forem inválidos.
|
61
|
+
"""
|
28
62
|
# Validação dos parâmetros
|
29
63
|
params = ExportarRelatorioParams(ano=ano, mes=mes)
|
30
64
|
periodo = f"{params.ano}-{params.mes:02d}"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
csc_cia_stne/__init__.py,sha256=
|
1
|
+
csc_cia_stne/__init__.py,sha256=dR9aDvx5m3ddFuoOQfboKrE4v-MeqZuzfe0PuSIIqHY,1537
|
2
2
|
csc_cia_stne/bc_correios.py,sha256=ANsvLyL7wdkM0MvjjBHB2Ih4eyTcyWgt5IqiK0Rv89E,23014
|
3
3
|
csc_cia_stne/bc_sta.py,sha256=uyoCp-KTpkWwpyWNWp20JuDfMRYGCKxERnRQVso80iQ,10903
|
4
4
|
csc_cia_stne/email.py,sha256=dGgn-0_EM2-AUyz2genrokINHCaqYqAh4QC3xhl4deA,4160
|
@@ -7,7 +7,7 @@ csc_cia_stne/google_drive.py,sha256=3kGd4swPr6fLUJnQplq4VzAgF8X0Ho0Ke4JJN4RE-_8,
|
|
7
7
|
csc_cia_stne/karavela.py,sha256=Q7MbQXXz_jtrLHM7QeenbSzcro07EpoFk4lKglivJ_I,3564
|
8
8
|
csc_cia_stne/logger_json.py,sha256=W6Fj0G1-TWXHdHoLLX5SbVV7BSpVvjHm1fkKI5Q69YQ,3129
|
9
9
|
csc_cia_stne/logger_rich.py,sha256=4KVwxz87AA52qEMpgCh1SlS--7a57LK4Y4HSnKmRruc,7514
|
10
|
-
csc_cia_stne/provio.py,sha256
|
10
|
+
csc_cia_stne/provio.py,sha256=-HU1wcCX9fHSiaxSDKeTj5VXfATcnMeZJJ-nBLmNyfY,3696
|
11
11
|
csc_cia_stne/servicenow.py,sha256=QN7R49Bb8HcqfGT9iytbPaqwV2rtH4N7Nhvb_kfTsHU,36400
|
12
12
|
csc_cia_stne/stne_admin.py,sha256=G5ozXt18VjKL2BHtROQk4GnfVY1xM14RXSQ-rra_D54,15487
|
13
13
|
csc_cia_stne/utilitarios/__init__.py,sha256=4YFhzxu8F_CDHU6iaNhpzz9mfX-8wfJc1XEQInJzwJ4,98
|
@@ -20,8 +20,8 @@ csc_cia_stne/utilitarios/validations/GcpBigQueryValidator.py,sha256=BSJ84FBuOxbh
|
|
20
20
|
csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py,sha256=OaT6F98RyP3iIMsIQMc0CCDUt0u7EkKxG_UoHm2ME3c,1376
|
21
21
|
csc_cia_stne/utilitarios/validations/ServiceNowValidator.py,sha256=9IS3ucuLXeeebfVpvywEu9OiN-BfbXTuowTBEotUbow,5991
|
22
22
|
csc_cia_stne/utilitarios/validations/__init__.py,sha256=VE49g8ExrBUyyUzhOUjsP9880L1PWCKPHckd848MQeo,71
|
23
|
-
csc_cia_stne-0.0.
|
24
|
-
csc_cia_stne-0.0.
|
25
|
-
csc_cia_stne-0.0.
|
26
|
-
csc_cia_stne-0.0.
|
27
|
-
csc_cia_stne-0.0.
|
23
|
+
csc_cia_stne-0.0.34.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
|
24
|
+
csc_cia_stne-0.0.34.dist-info/METADATA,sha256=ay89ISVMxA2mN0a_KPgnm9lhfOuR5s_KMUkCi45fK6c,1003
|
25
|
+
csc_cia_stne-0.0.34.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
26
|
+
csc_cia_stne-0.0.34.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
|
27
|
+
csc_cia_stne-0.0.34.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|