worker-automate-hub 0.5.805__tar.gz → 0.5.806__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 (108) hide show
  1. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/pyproject.toml +1 -1
  3. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py +69 -86
  4. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/opex_capex.py +1 -1
  5. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/README.md +0 -0
  6. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/__init__.py +0 -0
  7. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/__init__.py +0 -0
  8. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/ahead_service.py +0 -0
  9. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/client.py +0 -0
  10. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/datalake_service.py +0 -0
  11. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/helpers/__init__.py +0 -0
  12. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  13. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/rdp_service.py +0 -0
  14. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/rpa_fila_service.py +0 -0
  15. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  16. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/api/webhook_service.py +0 -0
  17. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/cli.py +0 -0
  18. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/config/__init__.py +0 -0
  19. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/config/settings.py +0 -0
  20. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/config.py +0 -0
  21. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/core/so_manipulation.py +0 -0
  22. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/__init__.py +0 -0
  23. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/deprecation.py +0 -0
  24. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/rate_limit.py +0 -0
  25. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/repeat.py +0 -0
  26. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/retry.py +0 -0
  27. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/singleton.py +0 -0
  28. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/decorators/timeit.py +0 -0
  29. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/__init__.py +0 -0
  30. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dao/__init__.py +0 -0
  31. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  32. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
  33. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  34. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  35. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
  36. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dto/__init__.py +0 -0
  37. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  38. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  39. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
  40. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dto/rpa_sap_dto.py +0 -0
  41. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  42. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/__init__.py +0 -0
  43. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  44. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  45. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  46. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/cte_manual.py +0 -0
  47. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/cte_xml.py +0 -0
  48. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
  49. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/devolucao_ctf.py +0 -0
  50. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/devolucao_ctf_35.py +0 -0
  51. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +0 -0
  52. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  53. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  54. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  55. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  56. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  57. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  58. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_cte_1353.py +0 -0
  59. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_cte_333.py +0 -0
  60. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
  61. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  62. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  63. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_22.py +0 -0
  64. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  65. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  66. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  67. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  68. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_37.py +0 -0
  69. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
  70. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  71. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_503.py +0 -0
  72. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
  73. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  74. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  75. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/entrada_de_notas_9000.py +0 -0
  76. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  77. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/extracao_fechamento_contabil.py +0 -0
  78. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/extracao_fechamento_emsys.py +0 -0
  79. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/extracao_saldo_estoque.py +0 -0
  80. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/extracao_saldo_estoque_fiscal.py +0 -0
  81. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
  82. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/fidc_exportacao_docs_portal_b2b.py +0 -0
  83. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  84. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  85. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/fidc_retorno_cobranca.py +0 -0
  86. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/geracao_aprovacao_pedidos.py +0 -0
  87. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/geracao_aprovacao_pedidos_novo.py +0 -0
  88. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/integracao_contabil.py +0 -0
  89. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/integracao_contabil_generica.py +0 -0
  90. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/lancamento_pis_cofins.py +0 -0
  91. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/lancamento_rateio.py +0 -0
  92. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  93. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
  94. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/notas_faturamento_sap.py +0 -0
  95. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  96. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
  97. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
  98. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/task_definitions.py +0 -0
  99. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/tasks/task_executor.py +0 -0
  100. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/__init__.py +0 -0
  101. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/env.py +0 -0
  102. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  103. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/logger.py +0 -0
  104. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/toast.py +0 -0
  105. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/updater.py +0 -0
  106. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/util.py +0 -0
  107. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  108. {worker_automate_hub-0.5.805 → worker_automate_hub-0.5.806}/worker_automate_hub/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: worker-automate-hub
3
- Version: 0.5.805
3
+ Version: 0.5.806
4
4
  Summary: Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta.
5
5
  Author: Joel Paim
6
6
  Requires-Python: >=3.12,<4.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "worker-automate-hub"
3
- version = "0.5.805"
3
+ version = "0.5.806"
4
4
  description = "Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta."
5
5
  authors = ["Joel Paim"]
6
6
  readme = "README.md"
@@ -577,103 +577,86 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
577
577
 
578
578
  await worker_sleep(2)
579
579
 
580
- desk = Desktop(backend="win32")
581
- dlg = None
582
- t_end = time.time() + 8.0 # até 8s procurando a janela
583
- while time.time() < t_end:
580
+ # flag para controlar se é a primeira vez
581
+ primeira_confirmacao = True
582
+
583
+ while True:
584
+ janela_aberta = False
585
+
586
+ # 1. Verifica se a imagem apareceu e clica em 'Sim' na janela "Informação"
584
587
  try:
585
- # variações: Aviso | Atenção | Erro
586
- wins = desk.windows(
587
- title_re=".*(Aviso|Aten[cç][aã]o|Erro).*", visible_only=True
588
- )
589
- if wins:
590
- dlg = wins[0]
591
- break
592
- except Exception:
593
- pass
594
- time.sleep(0.25)
588
+ if pyautogui.locateOnScreen(imagem, confidence=0.9):
589
+ print("Imagem 'livros_incluidos' apareceu na tela.")
590
+ try:
591
+ app_info = Application().connect(title="Informação", timeout=5)
592
+ info_window = app_info["Informação"]
593
+ info_window.set_focus()
594
+ console.print("Clicando em 'Sim' na janela Informação...")
595
+ info_window.child_window(class_name="Button", found_index=0).click_input()
596
+ except Exception as e:
597
+ print(f"Erro ao clicar em 'Sim' na janela Informação: {e}")
598
+ except Exception as e:
599
+ print(f"[Erro ao procurar imagem]: {e}")
595
600
 
596
- if dlg:
597
- console.print(
598
- "Janela 'Aviso' detectada. Capturando texto e screenshot..."
599
- )
601
+ # Verifica se a janela TMsgBox de aviso está aberta
602
+ try:
603
+ app_msgbox = Application().connect(class_name="TMsgBox", timeout=10)
604
+ box = app_msgbox["TMsgBox"]
605
+ print("Janela 'TMsgBox' encontrada.")
606
+ box.set_focus()
607
+ box.child_window(class_name="TBitBtn", found_index=0).click_input()
608
+ print("Clicou no botão 'TBitBtn'.")
609
+ except ElementNotFoundError:
610
+ pass
611
+ except Exception as e:
612
+ print(f"[Erro ao procurar/clicar na TMsgBox]: {e}")
600
613
 
601
- # === 2) Captura de screenshot da janela ===
614
+ # 2. Verifica e trata janela de confirmação TMessageForm
602
615
  try:
603
- # pasta de prints (ajuste se quiser outra)
604
- prints_dir = os.path.join(os.getcwd(), "prints")
605
- os.makedirs(prints_dir, exist_ok=True)
606
- ts = datetime.now().strftime("%Y%m%d_%H%M%S")
607
- screenshot_path = os.path.join(prints_dir, f"aviso_{ts}.png")
608
- dlg.set_focus()
609
- img = dlg.capture_as_image()
610
- img.save(screenshot_path)
611
- console.print(f"Screenshot salvo: {screenshot_path}")
616
+ app_msg = Application().connect(class_name="TMessageForm", timeout=2)
617
+ form = app_msg["TMessageForm"]
618
+ console.print("Janela de confirmação 'TMessageForm' encontrada.")
619
+ form.set_focus()
620
+
621
+ idx = 1 if primeira_confirmacao else 0
622
+ try:
623
+ form.child_window(class_name="TButton", found_index=idx).click_input()
624
+ print(f"Clicou no botão de confirmação (found_index={idx}).")
625
+ primeira_confirmacao = False # nas próximas vezes será 0
626
+ except Exception as e:
627
+ print(f"[Falha ao clicar no botão found_index={idx}]: {e}")
628
+
629
+ except ElementNotFoundError:
630
+ pass
612
631
  except Exception as e:
613
- screenshot_path = None
614
- console.print(f"Falha ao salvar screenshot do 'Aviso': {e}")
632
+ print(f"[Erro ao procurar/clicar na TMessageForm]: {e}")
615
633
 
616
- # === 3) Lê todo o texto da janela ===
617
- texto_aviso = ""
634
+ await worker_sleep(5)
635
+
636
+ # 3. Verifica se a janela do relatório está aberta
618
637
  try:
619
- partes = []
620
- for ctrl in dlg.descendants():
621
- try:
622
- t = ctrl.window_text()
623
- if t and t.strip():
624
- partes.append(t.strip())
625
- except Exception:
626
- pass
627
- texto_aviso = " ".join(
628
- dict.fromkeys(partes)
629
- ) # remove duplicados mantendo ordem
630
- console.print(f"Texto do Aviso: {texto_aviso}")
638
+ app_report = Application().connect(class_name="TFrmPreviewRelatorio", timeout=2)
639
+ janela = app_report["TFrmPreviewRelatorio"]
640
+ print("Janela 'TFrmPreviewRelatorio' encontrada.")
641
+ janela_aberta = True
642
+ except ElementNotFoundError:
643
+ pass
631
644
  except Exception as e:
632
- console.print(f"Falha ao coletar texto do 'Aviso': {e}")
645
+ print(f"[Erro ao procurar TFrmPreviewRelatorio]: {e}")
633
646
 
634
- # === 4) Validação do conteúdo (edite/adicione frases-chave conforme seu caso) ===
635
- FRASES_ERRO = [
636
- "O período para apuração informado",
637
- "situação diferente de confirmado",
638
- ]
647
+ # Se encontrou a janela de relatório, sai
648
+ if janela_aberta:
649
+ print("Relatório carregado. Saindo do loop.")
650
+ break
639
651
 
640
- contem_msg_erro = any(
641
- frase.lower() in texto_aviso.lower() for frase in FRASES_ERRO
642
- )
652
+ # Verifica tempo limite
653
+ if time.time() - inicio > tempo_limite:
654
+ print("Tempo esgotado. Relatório não carregado.")
655
+ break
656
+
657
+ print("Aguardando janela de relatório... (verificando novas confirmações se houver)")
658
+ time.sleep(intervalo)
643
659
 
644
- if contem_msg_erro:
645
- console.print(
646
- "Confirmação de erro pelo texto da janela 'Aviso'. Retornando falha."
647
- )
648
- retorno_msg = "Erro ao Incluir apuração."
649
- if texto_aviso:
650
- retorno_msg += f" Detalhe: {texto_aviso}"
651
- if screenshot_path:
652
- retorno_msg += f" | Print: {screenshot_path}"
653
-
654
- return RpaRetornoProcessoDTO(
655
- sucesso=False,
656
- retorno=retorno_msg,
657
- status=RpaHistoricoStatusEnum.Falha,
658
- tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)],
659
- )
660
- else:
661
- console.print(
662
- "Janela 'Aviso' não contém mensagem de erro mapeada. Seguindo fluxo."
663
- )
664
- # (Opcional) você pode clicar no 'OK' e continuar:
665
- try:
666
- # tenta clicar em botão OK se existir
667
- for c in dlg.descendants():
668
- try:
669
- if c.window_text().strip().lower() in ("ok", "&ok"):
670
- c.click_input()
671
- break
672
- except Exception:
673
- pass
674
- except Exception:
675
- pass
676
- # não retorna aqui; deixa seguir para sucesso
677
660
 
678
661
  # === 5) Se não houve 'Aviso' com erro mapeado, considera sucesso ===
679
662
  console.print("Nenhum erro confirmado. Fluxo OK.")
@@ -17,7 +17,7 @@ from pywinauto_recorder.player import set_combobox
17
17
  from rich.console import Console
18
18
  import sys
19
19
  import asyncio
20
- sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..","..","..")))
20
+ # sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..","..","..")))
21
21
  from worker_automate_hub.api.ahead_service import save_xml_to_downloads
22
22
  from worker_automate_hub.api.client import (
23
23
  get_config_by_name,