worker-automate-hub 0.5.452__tar.gz → 0.5.454__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 (93) hide show
  1. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/pyproject.toml +1 -1
  3. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py +35 -42
  4. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/devolucao_ctf.py +13 -1
  5. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/util.py +1 -1
  6. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/README.md +0 -0
  7. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/__init__.py +0 -0
  8. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/__init__.py +0 -0
  9. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/ahead_service.py +0 -0
  10. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/client.py +0 -0
  11. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/datalake_service.py +0 -0
  12. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/helpers/__init__.py +0 -0
  13. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  14. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/rdp_service.py +0 -0
  15. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/rpa_fila_service.py +0 -0
  16. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  17. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/api/webhook_service.py +0 -0
  18. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/cli.py +0 -0
  19. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/config/__init__.py +0 -0
  20. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/config/settings.py +0 -0
  21. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/config.py +0 -0
  22. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/core/so_manipulation.py +0 -0
  23. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/__init__.py +0 -0
  24. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/deprecation.py +0 -0
  25. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/rate_limit.py +0 -0
  26. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/repeat.py +0 -0
  27. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/retry.py +0 -0
  28. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/singleton.py +0 -0
  29. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/decorators/timeit.py +0 -0
  30. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/__init__.py +0 -0
  31. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dao/__init__.py +0 -0
  32. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  33. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
  34. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  35. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  36. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
  37. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dto/__init__.py +0 -0
  38. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  39. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  40. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
  41. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dto/rpa_sap_dto.py +0 -0
  42. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  43. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/__init__.py +0 -0
  44. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  45. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  46. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  47. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/cte_manual.py +0 -0
  48. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
  49. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/despesas_cte.py +0 -0
  50. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +0 -0
  51. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  52. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  53. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  54. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  55. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  56. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  57. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
  58. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  59. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  60. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  61. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  62. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  63. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  64. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
  65. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  66. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_503.py +0 -0
  67. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
  68. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  69. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  70. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  71. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
  72. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/fidc_exportacao_docs_portal_b2b.py +0 -0
  73. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  74. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  75. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/fidc_retorno_cobranca.py +0 -0
  76. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/geracao_aprovacao_pedidos.py +0 -0
  77. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/integracao_contabil.py +0 -0
  78. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  79. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
  80. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/notas_faturamento_sap.py +0 -0
  81. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  82. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
  83. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
  84. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/task_definitions.py +0 -0
  85. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/tasks/task_executor.py +0 -0
  86. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/__init__.py +0 -0
  87. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/env.py +0 -0
  88. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  89. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/logger.py +0 -0
  90. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/toast.py +0 -0
  91. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/updater.py +0 -0
  92. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  93. {worker_automate_hub-0.5.452 → worker_automate_hub-0.5.454}/worker_automate_hub/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: worker-automate-hub
3
- Version: 0.5.452
3
+ Version: 0.5.454
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.452"
3
+ version = "0.5.454"
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"
@@ -7,16 +7,16 @@ from worker_automate_hub.models.dto.rpa_processo_entrada_dto import RpaProcessoE
7
7
  from worker_automate_hub.api.client import (
8
8
  get_config_by_name
9
9
  )
10
-
11
10
  from pywinauto import Application
12
11
  from rich.console import Console
13
- from worker_automate_hub.utils.util import is_window_open_by_class, kill_contabil_processes, kill_process, login_emsys_fiscal, type_text_into_field, worker_sleep, wait_window_close
12
+ from worker_automate_hub.utils.util import is_window_open_by_class, kill_contabil_processes, kill_process, login_emsys_fiscal, type_text_into_field, worker_sleep
14
13
  from worker_automate_hub.utils.utils_nfe_entrada import EMSys
15
14
  import pyperclip
16
15
  import warnings
17
16
  import asyncio
18
17
  from pytesseract import image_to_string
19
- from PIL import ImageEnhance, ImageFilter
18
+ from pywinauto import Desktop
19
+
20
20
  pyautogui.PAUSE = 0.5
21
21
  pyautogui.FAILSAFE = False
22
22
 
@@ -24,42 +24,33 @@ console = Console()
24
24
 
25
25
  emsys = EMSys()
26
26
 
27
- async def wait_aguarde_window_closed(app):
28
-
29
- app = Application().connect(class_name="TFrmAguardeSys", timeout=60)
30
-
31
- max_attempts = 60
32
- i = 0
33
-
34
- while i < max_attempts:
35
- try:
36
- main_window = app["TMessageForm"]
37
- console.print("Janela 'TMessageForm' encontrada!")
38
- break
39
- except Exception as e:
40
- console.print(f"Erro ao tentar acessar TMessageForm: {e}")
41
- janela_aguarde = await is_window_open_by_class(
42
- "TFrmAguardeSys", "TFrmAguardeSys"
43
- )
44
- if janela_aguarde["IsOpened"] == True:
45
- console.print(
46
- "Aguardando tela de aguarde desaparecer ou conectar...\n"
47
- )
48
- else:
49
- try:
50
- main_window = app["TMessageForm"]
51
- if main_window.exists():
52
- console.print("Janela 'TMessageForm' encontrada!")
53
- break
54
- except:
55
- return RpaRetornoProcessoDTO(
56
- sucesso=True,
57
- retorno="Tela de aguardar carregada - Seguindo com andamento do processo (NCM).",
58
- status=RpaHistoricoStatusEnum.Sucesso,
59
- )
27
+ async def wait_aguarde_window_closed():
28
+ sucesso = False
29
+ while not sucesso:
30
+ desktop = Desktop(backend="uia")
31
+ # Tenta localizar a janela com o título que contém "Aguarde"
32
+ window = desktop.window(title_re="Aguarde...")
33
+ # Se a janela existe, continua monitorando
34
+ if window.exists():
35
+ console.print(f"Janela 'Aguarde...' ainda aberta", style="bold yellow")
36
+ logger.info(f"Janela 'Aguarde...' ainda aberta")
37
+ await worker_sleep(5)
38
+ continue
39
+ else:
40
+ try:
41
+ desktop_second = Desktop(backend="uia")
42
+ window_aguarde = desktop_second.window(title_re="Aguarde...")
43
+ if not window_aguarde.exists():
44
+ sucesso = True
45
+ break
46
+ else:
47
+ console.print(f"Janela 'Aguarde...' ainda aberta. Seguindo para próxima tentativa", style="bold yellow")
48
+ continue
49
+ except:
50
+ console.print(f"Janela 'Aguarde...' não existe mais.", style="bold green")
51
+ await worker_sleep(5)
52
+ break
60
53
 
61
- await worker_sleep(5)
62
- i += 1
63
54
 
64
55
  def click_desconfirmar():
65
56
  cords = (675, 748)
@@ -107,6 +98,8 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
107
98
  )
108
99
  pyautogui.press("enter")
109
100
  await worker_sleep(2)
101
+ pyautogui.press("down")
102
+ await worker_sleep(2)
110
103
  pyautogui.press("enter")
111
104
  console.print(
112
105
  "\nPesquisa: 'Livros Fiscais' realizada com sucesso.",
@@ -166,8 +159,8 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
166
159
 
167
160
  # Esperando janela aguarde
168
161
  console.print("Aguardando tela de aguarde ser finalizada")
169
- await wait_aguarde_window_closed(app)
170
- await worker_sleep(3)
162
+ await wait_aguarde_window_closed()
163
+ await worker_sleep(10)
171
164
 
172
165
  console.print("Fechando possivel janela de aviso...")
173
166
  await emsys.verify_warning_and_error("Aviso", "&Ok")
@@ -184,8 +177,8 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
184
177
 
185
178
  # Esperando janela aguarde
186
179
  console.print("Aguardando tela de aguarde ser finalizada")
187
- await wait_aguarde_window_closed(app)
188
- await worker_sleep(5)
180
+ await wait_aguarde_window_closed()
181
+ await worker_sleep(10)
189
182
 
190
183
  await worker_sleep(2)
191
184
  # Clicando OK em janela de livro incluido
@@ -1000,6 +1000,18 @@ async def devolucao_ctf(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
1000
1000
  console.print("Selecionando PDF...\n")
1001
1001
  btn_selecionar_pdf = main_window.child_window(class_name="TRadioButton", found_index=1)
1002
1002
  btn_selecionar_pdf.click()
1003
+ await worker_sleep(3)
1004
+
1005
+ i = 0
1006
+ while i < 3:
1007
+ btn_selecionar_pdf = main_window.child_window(class_name="TRadioButton", found_index=1)
1008
+ if btn_selecionar_pdf.is_checked():
1009
+ console.print("O botão 'PDF' está selecionado.")
1010
+ break
1011
+ else:
1012
+ await worker_sleep(2)
1013
+ i = i+1
1014
+
1003
1015
  await worker_sleep(2)
1004
1016
  except Exception as e:
1005
1017
  result = f"Erro ao imprimir o arquivo \nEtapas Executadas:\n{steps}"
@@ -1013,7 +1025,7 @@ async def devolucao_ctf(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
1013
1025
 
1014
1026
 
1015
1027
  i = 0
1016
- while i < 3:
1028
+ while i < 6:
1017
1029
  try:
1018
1030
  salvar_file_opened = await is_window_open("Salvar par arquivo")
1019
1031
  if salvar_file_opened["IsOpened"] == True:
@@ -4176,7 +4176,7 @@ async def gerenciador_nf_header(
4176
4176
  await worker_sleep(5)
4177
4177
 
4178
4178
  i = 0
4179
- max_attempts = 17
4179
+ max_attempts = 25
4180
4180
 
4181
4181
  while i < max_attempts:
4182
4182
  i += 1