worker-automate-hub 0.5.452__py3-none-any.whl → 0.5.454__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.
@@ -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
@@ -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
@@ -36,13 +36,13 @@ worker_automate_hub/models/dto/rpa_sap_dto.py,sha256=eovdvKCtVIhRct3PL98KjsdlngL
36
36
  worker_automate_hub/models/dto/rpa_sistema_dto.py,sha256=sLkmJei8x6sl-1-IXUKDmYQuKx0sotYQREPyhQqPmRg,161
37
37
  worker_automate_hub/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  worker_automate_hub/tasks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py,sha256=5nTwcYxF4QcFkprPSkUQHmQ3aEARps0-BXxeD_JdAJA,11153
39
+ worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py,sha256=waXwEI7dN3ecJV2brF1-sgiFZ5uEwgg1N46VvnWmd5w,11018
40
40
  worker_automate_hub/tasks/jobs/coleta_dje_process.py,sha256=UkLWTC5Ub2qBb0yY-8IZ0DLLOVJOfNTq_z9krx_t25Q,29476
41
41
  worker_automate_hub/tasks/jobs/conexao_rdp.py,sha256=S6QC4xhuo0pB5FjaUJZNMm1LIgEjpjifReCTBDqxH-U,11719
42
42
  worker_automate_hub/tasks/jobs/cte_manual.py,sha256=JucHpRMjMiy-QEJ0wtFnytLpN53tKXgCDI05nGLGclU,603
43
43
  worker_automate_hub/tasks/jobs/descartes.py,sha256=2zODOekSJSr7nuO9sUzT_F3YeG7N5EHuxnp05RguirE,41361
44
44
  worker_automate_hub/tasks/jobs/despesas_cte.py,sha256=TWbjBMZjYDugiqYUa_1DtCAUWOyVetoZI2SPs7AdDNc,13264
45
- worker_automate_hub/tasks/jobs/devolucao_ctf.py,sha256=jQk4avIypUhh2ZGgWNjsVmfoanexRlsx1q89HllZdHg,236734
45
+ worker_automate_hub/tasks/jobs/devolucao_ctf.py,sha256=sY27sUg8FMCC4SNXGlV7AFyOIo3PuhT8LXi2GcA4hBQ,237251
46
46
  worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py,sha256=byIk02T4fWCVgKisf50ZAEY26d8FMTlX9S7RnQVtoEE,256763
47
47
  worker_automate_hub/tasks/jobs/ecac_estadual_go.py,sha256=dKkf22nH5gp3RErq5u0UzRsKyJ81fc6ZZ4vLtUuMwHA,21002
48
48
  worker_automate_hub/tasks/jobs/ecac_estadual_main.py,sha256=8WmKe4-MRtzHobXz2S4YBDNN8alfawkC-BBlRY-mn1g,1726
@@ -85,10 +85,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
85
85
  worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
86
86
  worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
87
87
  worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
88
- worker_automate_hub/utils/util.py,sha256=nRM7sZ6prjNc0-2t1azJOgGhsOZMWfMaK8T4U5CcBL8,187178
88
+ worker_automate_hub/utils/util.py,sha256=hbO8PAsm_WxdiLyZSrY0_JeFKynHHJE_413odoL6ZBY,187178
89
89
  worker_automate_hub/utils/utils_nfe_entrada.py,sha256=wmnpuOesmPSryZszmapa37b9YNC0E2MkeDYnbwr-0rU,33315
90
90
  worker_automate_hub/worker.py,sha256=axdrr1xLTjWEyWfcyH3OCSpPTsyzck_fL_0u1DBLjvw,6525
91
- worker_automate_hub-0.5.452.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
92
- worker_automate_hub-0.5.452.dist-info/METADATA,sha256=xORfEWATx_BEQdzx3K63ni_OU2yNG1i3i0t1AJFRnAA,3012
93
- worker_automate_hub-0.5.452.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
94
- worker_automate_hub-0.5.452.dist-info/RECORD,,
91
+ worker_automate_hub-0.5.454.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
92
+ worker_automate_hub-0.5.454.dist-info/METADATA,sha256=qA7pPEcypTR9XuG0ME7DqhslLGwGZvzn7l5dNHWZosk,3012
93
+ worker_automate_hub-0.5.454.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
94
+ worker_automate_hub-0.5.454.dist-info/RECORD,,