csc-cia-stne 0.0.43__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- csc_cia_stne-0.0.43/LICENCE +21 -0
- csc_cia_stne-0.0.43/PKG-INFO +33 -0
- csc_cia_stne-0.0.43/README.md +23 -0
- csc_cia_stne-0.0.43/README_PYPI.md +8 -0
- csc_cia_stne-0.0.43/pyproject.toml +31 -0
- csc_cia_stne-0.0.43/setup.cfg +4 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/__init__.py +89 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/bc_correios.py +529 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/bc_sta.py +416 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/email.py +239 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/gcp_bigquery.py +224 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/google_drive.py +268 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/karavela.py +135 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/logger_json.py +92 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/logger_rich.py +249 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/provio.py +103 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/servicenow.py +689 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/slack.py +227 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/stne_admin.py +597 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/__init__.py +9 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/__init__.py +14 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_b64.py +50 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_converters.py +18 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_recriar_pastas.py +29 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_settings.py +66 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_titulo.py +141 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/GcpBigQueryValidator.py +133 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py +144 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/ServiceNowValidator.py +403 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/__init__.py +3 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/PKG-INFO +33 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/SOURCES.txt +33 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/dependency_links.txt +1 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/requires.txt +16 -0
- csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2024 CSC-CIA
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
Metadata-Version: 2.2
|
2
|
+
Name: csc_cia_stne
|
3
|
+
Version: 0.0.43
|
4
|
+
Summary: Biblioteca do time CSC-CIA utilizada no desenvolvimento de RPAs
|
5
|
+
License: MIT
|
6
|
+
Keywords: karavela,csc,cia,stone,rpa
|
7
|
+
Description-Content-Type: text/markdown
|
8
|
+
License-File: LICENCE
|
9
|
+
Requires-Dist: python-json-logger
|
10
|
+
Requires-Dist: rich
|
11
|
+
Requires-Dist: requests
|
12
|
+
Requires-Dist: pydantic
|
13
|
+
Requires-Dist: pydantic_settings
|
14
|
+
Requires-Dist: zeep
|
15
|
+
Requires-Dist: google-cloud-bigquery
|
16
|
+
Requires-Dist: google-cloud-storage
|
17
|
+
Requires-Dist: google-auth-oauthlib
|
18
|
+
Requires-Dist: google-auth-httplib2
|
19
|
+
Requires-Dist: google-api-python-client
|
20
|
+
Requires-Dist: pyjwt
|
21
|
+
Requires-Dist: PyYAML
|
22
|
+
Requires-Dist: python-dotenv
|
23
|
+
Requires-Dist: slack_sdk
|
24
|
+
Requires-Dist: email-validator
|
25
|
+
|
26
|
+
Essa biblioteca é desenvolvida e atualizada pelo time **CSC-CIA** da **Stone**
|
27
|
+
|
28
|
+
Utilizada no desenvolvimento dos RPAs, possui classes que são utilizadas com frequência
|
29
|
+
|
30
|
+
O intuito é não precisar desenvolver, novamente, funcionalidades que são utilizadas com frequência
|
31
|
+
|
32
|
+
Documentação mais detalhada: [GitHub com acesso restrito](https://github.com/stone-payments/cia-libs)
|
33
|
+
Contato: **cia@stone.com.br**
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Biblioteca para uso do time CSC-CIA
|
2
|
+
|
3
|
+
## Instalação:
|
4
|
+
|
5
|
+
```python
|
6
|
+
pip install csc-cia-stne
|
7
|
+
```
|
8
|
+
|
9
|
+
## Modo de usar:
|
10
|
+
|
11
|
+
[Classe BC_Correios](docs/class_bc_correios.md)
|
12
|
+
|
13
|
+
[Classe BC_STA](docs/class_bc_sta.md)
|
14
|
+
|
15
|
+
[Classe BigQuery](docs/class_gcp_bigquery.md)
|
16
|
+
|
17
|
+
[Classe Karavela](docs/class_karavela.md)
|
18
|
+
|
19
|
+
[Classe ServiceNow](docs/class_servicenow.md)
|
20
|
+
|
21
|
+
[Função logger](docs/func_logger.md)
|
22
|
+
|
23
|
+
[Funções utilitárias](docs/func_util.md)
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Essa biblioteca é desenvolvida e atualizada pelo time **CSC-CIA** da **Stone**
|
2
|
+
|
3
|
+
Utilizada no desenvolvimento dos RPAs, possui classes que são utilizadas com frequência
|
4
|
+
|
5
|
+
O intuito é não precisar desenvolver, novamente, funcionalidades que são utilizadas com frequência
|
6
|
+
|
7
|
+
Documentação mais detalhada: [GitHub com acesso restrito](https://github.com/stone-payments/cia-libs)
|
8
|
+
Contato: **cia@stone.com.br**
|
@@ -0,0 +1,31 @@
|
|
1
|
+
[build-system]
|
2
|
+
requires = ["setuptools>=42", "wheel"]
|
3
|
+
build-backend = "setuptools.build_meta"
|
4
|
+
|
5
|
+
[project]
|
6
|
+
name = "csc_cia_stne"
|
7
|
+
version = "0.0.43"
|
8
|
+
license = { text = "MIT" }
|
9
|
+
description = "Biblioteca do time CSC-CIA utilizada no desenvolvimento de RPAs"
|
10
|
+
keywords = ["karavela", "csc", "cia", "stone", "rpa"]
|
11
|
+
readme = "README_PYPI.md" # Referência ao arquivo README
|
12
|
+
|
13
|
+
# Dependências
|
14
|
+
dependencies = [
|
15
|
+
"python-json-logger",
|
16
|
+
"rich",
|
17
|
+
"requests",
|
18
|
+
"pydantic",
|
19
|
+
"pydantic_settings",
|
20
|
+
"zeep",
|
21
|
+
"google-cloud-bigquery",
|
22
|
+
"google-cloud-storage",
|
23
|
+
"google-auth-oauthlib",
|
24
|
+
"google-auth-httplib2",
|
25
|
+
"google-api-python-client",
|
26
|
+
"pyjwt",
|
27
|
+
"PyYAML",
|
28
|
+
"python-dotenv",
|
29
|
+
"slack_sdk",
|
30
|
+
"email-validator"
|
31
|
+
]
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import os
|
2
|
+
from dotenv import load_dotenv
|
3
|
+
from .logger_json import get_logger as get_logger_json
|
4
|
+
from .logger_rich import get_logger as get_logger_rich
|
5
|
+
from .karavela import Karavela
|
6
|
+
from .servicenow import ServiceNow
|
7
|
+
from .stne_admin import StoneAdmin
|
8
|
+
from .bc_sta import BC_STA
|
9
|
+
from .bc_correios import BC_Correios
|
10
|
+
from .gcp_bigquery import BigQuery
|
11
|
+
from .email import Email
|
12
|
+
from .provio import Provio
|
13
|
+
from .google_drive import GoogleDrive
|
14
|
+
from .slack import Slack
|
15
|
+
|
16
|
+
# Define os itens disponíveis para importação
|
17
|
+
__all__ = [
|
18
|
+
"Karavela",
|
19
|
+
"BigQuery",
|
20
|
+
"BC_Correios",
|
21
|
+
"BC_STA",
|
22
|
+
"StoneAdmin",
|
23
|
+
"ServiceNow",
|
24
|
+
"Util",
|
25
|
+
"logger",
|
26
|
+
"Provio",
|
27
|
+
"Email",
|
28
|
+
"GoogleDrive",
|
29
|
+
"Slack"
|
30
|
+
]
|
31
|
+
|
32
|
+
_diretorio_inicial = os.getcwd()
|
33
|
+
_caminho_env = os.path.join(_diretorio_inicial, ".env")
|
34
|
+
|
35
|
+
# Carrega .env
|
36
|
+
load_dotenv(_caminho_env)
|
37
|
+
logger = None # Inicializa como None
|
38
|
+
|
39
|
+
def _running_in_container():
|
40
|
+
"""
|
41
|
+
Verifica se o código está sendo executado dentro de um container.
|
42
|
+
Retorna True se estiver sendo executado dentro de um container e False caso contrário.
|
43
|
+
"""
|
44
|
+
|
45
|
+
if os.environ.get("KUBERNETES_SERVICE_HOST") or os.path.exists("/.dockerenv"):
|
46
|
+
|
47
|
+
return True
|
48
|
+
|
49
|
+
try:
|
50
|
+
|
51
|
+
with open("/proc/1/cgroup", "rt") as file:
|
52
|
+
|
53
|
+
for line in file:
|
54
|
+
|
55
|
+
if "docker" in line or "kubepods" in line:
|
56
|
+
|
57
|
+
return True
|
58
|
+
|
59
|
+
except FileNotFoundError as e:
|
60
|
+
|
61
|
+
return False
|
62
|
+
|
63
|
+
return False
|
64
|
+
|
65
|
+
def logger():
|
66
|
+
"""
|
67
|
+
Retorna um objeto logger com base no ambiente de execução.
|
68
|
+
Se a variável de ambiente 'ambiente_de_execucao' estiver definida e for igual a "karavela",
|
69
|
+
retorna um logger formatado em JSON usando a função get_logger_json().
|
70
|
+
Caso contrário, se estiver executando em um container, retorna um logger formatado em JSON
|
71
|
+
usando a função get_logger_json().
|
72
|
+
Caso contrário, retorna um logger formatado em texto usando a função get_logger_rich().
|
73
|
+
Exemplo de uso:
|
74
|
+
logger_obj = logger()
|
75
|
+
logger_obj.info("Mensagem de informação")
|
76
|
+
logger_obj.error("Mensagem de erro")
|
77
|
+
"""
|
78
|
+
|
79
|
+
if os.getenv('ambiente_de_execucao') is not None and os.getenv('ambiente_de_execucao') == "karavela":
|
80
|
+
|
81
|
+
return get_logger_json()
|
82
|
+
|
83
|
+
elif _running_in_container():
|
84
|
+
|
85
|
+
return get_logger_json()
|
86
|
+
|
87
|
+
else:
|
88
|
+
|
89
|
+
return get_logger_rich()
|