csc-cia-stne 0.1.8__tar.gz → 0.1.10__tar.gz

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.
Files changed (49) hide show
  1. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/PKG-INFO +1 -1
  2. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/pyproject.toml +1 -1
  3. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/email.py +7 -5
  4. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/servicenow.py +57 -0
  5. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne.egg-info/PKG-INFO +1 -1
  6. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/LICENCE +0 -0
  7. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/README.md +0 -0
  8. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/README_PYPI.md +0 -0
  9. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/setup.cfg +0 -0
  10. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/__init__.py +0 -0
  11. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/bc_correios.py +0 -0
  12. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/bc_sta.py +0 -0
  13. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/ftp.py +0 -0
  14. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/gcp_bigquery.py +0 -0
  15. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/gcp_bucket.py +0 -0
  16. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/google_drive.py +0 -0
  17. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/karavela.py +0 -0
  18. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/logger_json.py +0 -0
  19. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/logger_rich.py +0 -0
  20. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/provio.py +0 -0
  21. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/slack.py +0 -0
  22. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/stne_admin.py +0 -0
  23. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/__init__.py +0 -0
  24. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/__init__.py +0 -0
  25. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_b64.py +0 -0
  26. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_converters.py +0 -0
  27. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_datetime.py +0 -0
  28. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_get_secret.py +0 -0
  29. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_recriar_pastas.py +0 -0
  30. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_settings.py +0 -0
  31. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/functions/func_titulo.py +0 -0
  32. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/GcpBigQueryValidator.py +0 -0
  33. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py +0 -0
  34. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/ServiceNowValidator.py +0 -0
  35. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/__init__.py +0 -0
  36. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/ftp.py +0 -0
  37. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/gcp_bucket.py +0 -0
  38. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/waccess.py +0 -0
  39. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/validations/web_validator.py +0 -0
  40. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/web_screen/__init__.py +0 -0
  41. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/web_screen/web_screen_abstract.py +0 -0
  42. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/web_screen/web_screen_botcity.py +0 -0
  43. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/utilitarios/web_screen/web_screen_selenium.py +0 -0
  44. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/wacess.py +0 -0
  45. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne/web.py +0 -0
  46. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne.egg-info/SOURCES.txt +0 -0
  47. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne.egg-info/dependency_links.txt +0 -0
  48. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne.egg-info/requires.txt +0 -0
  49. {csc_cia_stne-0.1.8 → csc_cia_stne-0.1.10}/src/csc_cia_stne.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csc_cia_stne
3
- Version: 0.1.8
3
+ Version: 0.1.10
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,botcity,stne
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "csc_cia_stne"
7
- version = "0.1.08"
7
+ version = "0.1.10"
8
8
  license = { text = "MIT" }
9
9
  description = "Biblioteca do time CSC-CIA utilizada no desenvolvimento de RPAs"
10
10
  keywords = ["karavela", "csc", "cia", "stone", "rpa", "botcity", "stne"]
@@ -150,7 +150,7 @@ class Email():
150
150
  }
151
151
 
152
152
 
153
- def send_email( self, to : list , message : str , title : str , reply_to: str, attachments : list = [] , cc : list = [] , cco : list = [], from_mask: str = "" ) -> dict:
153
+ def send_email( self, to : list , message : str , title : str , reply_to: str, attachments : list = [] , cc : list = [] , cco : list = [], from_mask: str = "", block_by_attachments:bool=False) -> dict:
154
154
  """
155
155
  Envia um email com os parâmetros fornecidos.
156
156
  Args:
@@ -227,10 +227,12 @@ class Email():
227
227
 
228
228
  except Exception as e:
229
229
 
230
- return {
231
- 'status':False,
232
- 'error':str(e)
233
- }
230
+ if block_by_attachments:
231
+
232
+ return {
233
+ 'status':False,
234
+ 'error':str(e)
235
+ }
234
236
 
235
237
  msg.attach(MIMEText(message, 'html'))
236
238
 
@@ -807,3 +807,60 @@ class ServiceNow:
807
807
  except Exception as e:
808
808
  logging.debug("Erro ao obter anexos.")
809
809
  return {"success": False, "error": str(e)}
810
+
811
+ def criar_task(self, payload: dict, header_content_type: dict = None, timeout: int = 15):
812
+ """
813
+ Cria uma nova task no ServiceNow utilizando os dados fornecidos no payload.
814
+ Args:
815
+ payload (dict): Dicionário contendo os dados necessários para criação da task.
816
+ header_content_type (dict, opcional): Cabeçalho HTTP personalizado para a requisição. Se não informado, utiliza o cabeçalho padrão da instância.
817
+ timeout (int, opcional): Tempo limite (em segundos) para a requisição HTTP. Padrão é 15 segundos.
818
+ Returns:
819
+ dict: Dicionário contendo o resultado da operação.
820
+ - Se sucesso: {"success": True, "result": <dados da task criada>}
821
+ - Se falha: {"success": False, "error": <mensagem de erro>, "result": None}
822
+ Raises:
823
+ TypeError: Se o payload não for um dicionário.
824
+ Observações:
825
+ - Realiza tratamento de erros HTTP, de requisição e erros inesperados, registrando logs para depuração.
826
+ """
827
+ if not isinstance(payload, dict):
828
+ raise TypeError("Payload deve ser um dicionário.")
829
+ if not isinstance(timeout, int):
830
+ raise TypeError("Timeout deve ser um inteiro.")
831
+
832
+ if header_content_type:
833
+ header = header_content_type
834
+ else:
835
+ header = self.api_header
836
+ data = json.dumps(payload)
837
+ url = f"{self.api_url}/now/table/sc_task"
838
+ try:
839
+ response = requests.post(
840
+ f"{url}",
841
+ auth=self.__auth(),
842
+ headers=header,
843
+ data=data,
844
+ timeout=timeout,
845
+ )
846
+ response.raise_for_status()
847
+
848
+ result = response.json()
849
+
850
+ return {"success": True, "result": result["result"]} if "result" in result else {"success": False, "result": result}
851
+
852
+ # TRATAMENTOS DE ERRO
853
+ except requests.exceptions.HTTPError as http_err:
854
+
855
+ logging.debug(
856
+ f"Erro HTTP ao tentar registrar o ticket: {http_err} \n Reposta da solicitação: {response.json().get('error').get('message')}"
857
+ )
858
+ return {"success": False, "error": str(http_err), "result": None}
859
+
860
+ except requests.exceptions.RequestException as req_err:
861
+ logging.debug(f"Erro ao tentar registrar o ticket: \n {req_err}")
862
+ return {"success": False, "error": str(req_err), "result": None}
863
+
864
+ except Exception as e:
865
+ logging.debug(f"Erro inesperado: \n {e}")
866
+ return {"success": False, "error": str(e), "result": None}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csc_cia_stne
3
- Version: 0.1.8
3
+ Version: 0.1.10
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,botcity,stne
File without changes
File without changes
File without changes