csc-cia-stne 0.0.74__py3-none-any.whl → 0.0.76__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/bc_sta.py CHANGED
@@ -1,11 +1,11 @@
1
- from requests.auth import HTTPBasicAuth
1
+ import logging
2
+ import hashlib
2
3
  import requests
4
+ from requests.auth import HTTPBasicAuth
3
5
  import xml.etree.ElementTree as ET
4
- import hashlib
6
+ from xml.dom.minidom import parseString
5
7
  from pydantic import BaseModel, ValidationError, field_validator, Field, HttpUrl
6
8
  from typing import Literal, Dict, Union, Optional, List
7
- import json
8
- import logging
9
9
 
10
10
  log = logging.getLogger('__main__')
11
11
 
@@ -545,7 +545,11 @@ class BC_STA:
545
545
  # Filtra apenas os arquivos do tipo 'AJUD308'
546
546
  if tipo_arquivo is not None:
547
547
 
548
- dados_filtrados = [arquivo for arquivo in dados if arquivo.get("TipoArquivo") in tipo_arquivo]
548
+ if isinstance(dados, list):
549
+ dados_filtrados = [arquivo for arquivo in dados if arquivo.get("TipoArquivo") in tipo_arquivo]
550
+ elif dados.get("TipoArquivo") in tipo_arquivo:
551
+ dados_filtrados = [dados]
552
+
549
553
  resultados.extend(dados_filtrados)
550
554
 
551
555
  else:
@@ -557,6 +561,10 @@ class BC_STA:
557
561
 
558
562
  ultima_data = dados[-1]['DataHoraDisponibilizacao'] # Atualiza a data para a próxima requisição
559
563
 
564
+ elif dados and isinstance(dados, dict) and 'DataHoraDisponibilizacao' in dados:
565
+
566
+ ultima_data = dados['DataHoraDisponibilizacao'] # Atualiza a data para a próxima requisição
567
+
560
568
  else:
561
569
 
562
570
  log.error("Campo 'DataHoraDisponibilizacao' não encontrado ou estrutura inesperada.")
@@ -623,3 +631,52 @@ class BC_STA:
623
631
  return {"success": False, "status_code": int(response.status_code), "content": response.text}
624
632
 
625
633
 
634
+ def qs_gerar_xml_string_responder_nao_cliente(self,protocolo_inicial_ordem:str,numctrlccs:str,cnpj_cpf:str,numctrlenvio:str,numprocjud:str,identdemissor:str,identddestinatario:str,domsist:str,nuop:str,dtmovto:datetime,cnpjbaseentrespons:str):
635
+
636
+ """Gera a string do arquivo XML de resposta para nao-cliente para ser enviado ao STA
637
+ Args:
638
+ protocolo_inicial_ordem (str): protocolo inicial da ordem de quebra de sigilo, do arquivo AMES102
639
+ numctrlccs (str): numero de controle ccs
640
+ cnpj_cpf (str): documento do solicitado
641
+ numctrlenvio (str): numero de controle de envio
642
+ numprocjud (str): numero do processo judicial
643
+ identdemissor (str): identificacao do emissor
644
+ identddestinatario (str): identificacao do destinatario
645
+ domsist (str): domsist
646
+ nuop (str): numero da operacao
647
+ dtmovto (datetime): data da movimentacao
648
+ cnpjbaseentrespons (str): cnpjbaseentrespons
649
+ Returns:
650
+ str: string formatada para gerar um arquivo xml de resposta
651
+ """
652
+ try:
653
+
654
+ ns = "http://www.bcb.gov.br/MES/CCS0012.xsd"
655
+
656
+ doc = ET.Element("DOC", xmlns=ns)
657
+
658
+ bcmsg = ET.SubElement(doc, "BCMSG")
659
+ ET.SubElement(bcmsg, "IdentdEmissor").text = identdemissor
660
+ ET.SubElement(bcmsg, "IdentdDestinatario").text = identddestinatario
661
+ ET.SubElement(bcmsg, "DomSist").text = domsist
662
+ ET.SubElement(bcmsg, "NUOp").text = nuop
663
+
664
+ sismsg = ET.SubElement(doc, "SISMSG")
665
+ ccs0012 = ET.SubElement(sismsg, "CCS0012")
666
+ ET.SubElement(ccs0012, "CodMsg").text = "CCS0012"
667
+ ET.SubElement(ccs0012, "CNPJBaseEntRespons").text = cnpjbaseentrespons
668
+ ET.SubElement(ccs0012, "NumCtrlCCSOr").text = numctrlccs
669
+ ET.SubElement(ccs0012, "SitAtedmntReq").text = "03"
670
+ ET.SubElement(ccs0012, "DtMovto").text = dtmovto.strftime("%Y-%m-%d")
671
+
672
+ #return ET.tostring(doc, encoding="utf-8", xml_declaration=True).decode("utf-8")
673
+ xml_str = ET.tostring(doc, encoding="utf-8", xml_declaration=True).decode("utf-8")
674
+
675
+ # Formatando XML com indentação para melhor visualização
676
+ xml_formatado = parseString(xml_str).toprettyxml(indent=" ")
677
+ return xml_formatado
678
+
679
+ except Exception as e:
680
+
681
+ raise Exception(f"Falha ao gerar XML de resposta de Quebra de Sigilo:\n{e}")
682
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: csc_cia_stne
3
- Version: 0.0.74
3
+ Version: 0.0.76
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
@@ -1,6 +1,6 @@
1
1
  csc_cia_stne/__init__.py,sha256=Io-gKis1evws5cHUqyOrcsZKNCQRviYj3zbp__5lgKU,2512
2
2
  csc_cia_stne/bc_correios.py,sha256=pQAnRrcXEMrx3N1MWydZVIhEQLerh3x8-0B045zZIzk,24174
3
- csc_cia_stne/bc_sta.py,sha256=KWHTytM3msAFayt8y5_97RwWHE8Dv8ssfwyh6zU7xI0,25836
3
+ csc_cia_stne/bc_sta.py,sha256=doJs-rKGAAe8aeMxzNKUN9uCG2KazGn2DO85sTzKSRk,28884
4
4
  csc_cia_stne/email.py,sha256=RK_TzWBVnUfpP-s5NvjTJJjzhICy8e2fME9EuaiySMY,8162
5
5
  csc_cia_stne/gcp_bigquery.py,sha256=jYxvqrWDOPkxc05U4aef7V5lL8ptqsE93lfn0dLFyvc,7385
6
6
  csc_cia_stne/google_drive.py,sha256=k6GnM8bxQUPbXhaK6Sa4JpWrCcJ0vzYgXP8Uexy7YR0,16073
@@ -26,8 +26,8 @@ csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py,sha256=Q1oZTae4hDJ2
26
26
  csc_cia_stne/utilitarios/validations/ServiceNowValidator.py,sha256=yleKUIo1ZfyloP9fDPNjv3JJXdLcocT81WIgRSYmqEA,14423
27
27
  csc_cia_stne/utilitarios/validations/__init__.py,sha256=O_qyEU2ji3u6LHUXZCXvUFsMpoMWL625qqHTXyXivTA,106
28
28
  csc_cia_stne/utilitarios/validations/web_validator.py,sha256=HYKYSpDv1RvRjZIuwTPt-AbEz-9392MxM_O329iYuSA,5722
29
- csc_cia_stne-0.0.74.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
30
- csc_cia_stne-0.0.74.dist-info/METADATA,sha256=ZOqKvwLesuC06yA-1b8ZZN56soA9UL3i4GYYFz8Kqd4,1340
31
- csc_cia_stne-0.0.74.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
32
- csc_cia_stne-0.0.74.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
33
- csc_cia_stne-0.0.74.dist-info/RECORD,,
29
+ csc_cia_stne-0.0.76.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
30
+ csc_cia_stne-0.0.76.dist-info/METADATA,sha256=urogmx7a07KjyoM8Qrl5F705wfDM55yx5NeQtOTQ8jI,1340
31
+ csc_cia_stne-0.0.76.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
32
+ csc_cia_stne-0.0.76.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
33
+ csc_cia_stne-0.0.76.dist-info/RECORD,,