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.
Files changed (35) hide show
  1. csc_cia_stne-0.0.43/LICENCE +21 -0
  2. csc_cia_stne-0.0.43/PKG-INFO +33 -0
  3. csc_cia_stne-0.0.43/README.md +23 -0
  4. csc_cia_stne-0.0.43/README_PYPI.md +8 -0
  5. csc_cia_stne-0.0.43/pyproject.toml +31 -0
  6. csc_cia_stne-0.0.43/setup.cfg +4 -0
  7. csc_cia_stne-0.0.43/src/csc_cia_stne/__init__.py +89 -0
  8. csc_cia_stne-0.0.43/src/csc_cia_stne/bc_correios.py +529 -0
  9. csc_cia_stne-0.0.43/src/csc_cia_stne/bc_sta.py +416 -0
  10. csc_cia_stne-0.0.43/src/csc_cia_stne/email.py +239 -0
  11. csc_cia_stne-0.0.43/src/csc_cia_stne/gcp_bigquery.py +224 -0
  12. csc_cia_stne-0.0.43/src/csc_cia_stne/google_drive.py +268 -0
  13. csc_cia_stne-0.0.43/src/csc_cia_stne/karavela.py +135 -0
  14. csc_cia_stne-0.0.43/src/csc_cia_stne/logger_json.py +92 -0
  15. csc_cia_stne-0.0.43/src/csc_cia_stne/logger_rich.py +249 -0
  16. csc_cia_stne-0.0.43/src/csc_cia_stne/provio.py +103 -0
  17. csc_cia_stne-0.0.43/src/csc_cia_stne/servicenow.py +689 -0
  18. csc_cia_stne-0.0.43/src/csc_cia_stne/slack.py +227 -0
  19. csc_cia_stne-0.0.43/src/csc_cia_stne/stne_admin.py +597 -0
  20. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/__init__.py +9 -0
  21. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/__init__.py +14 -0
  22. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_b64.py +50 -0
  23. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_converters.py +18 -0
  24. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_recriar_pastas.py +29 -0
  25. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_settings.py +66 -0
  26. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/functions/func_titulo.py +141 -0
  27. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/GcpBigQueryValidator.py +133 -0
  28. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py +144 -0
  29. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/ServiceNowValidator.py +403 -0
  30. csc_cia_stne-0.0.43/src/csc_cia_stne/utilitarios/validations/__init__.py +3 -0
  31. csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/PKG-INFO +33 -0
  32. csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/SOURCES.txt +33 -0
  33. csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/dependency_links.txt +1 -0
  34. csc_cia_stne-0.0.43/src/csc_cia_stne.egg-info/requires.txt +16 -0
  35. 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,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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()