worker-automate-hub 0.4.346__py3-none-any.whl → 0.4.349__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -320,7 +320,6 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
320
320
  # VERIFICANDO A EXISTENCIA DE ERRO
321
321
  erro_pop_up = await is_window_open("Erro")
322
322
  if erro_pop_up["IsOpened"] == True:
323
- console.print("Aveia")
324
323
  return RpaRetornoProcessoDTO(
325
324
  sucesso=False,
326
325
  retorno="Nota não encontrada no EMsys",
@@ -341,7 +340,6 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
341
340
  i += 1
342
341
 
343
342
  if i >= max_attempts:
344
- console.print("batata")
345
343
  return RpaRetornoProcessoDTO(
346
344
  sucesso=False,
347
345
  retorno="Nota não encontrada no EMsys",
@@ -350,67 +348,35 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
350
348
 
351
349
  await worker_sleep(10)
352
350
 
353
- app = Application().connect(
351
+ if nota.get("existeDespesa") != "Não":
352
+ app = Application().connect(
354
353
  title="Informações para importação da Nota Fiscal Eletrônica"
355
- )
356
- main_window = app["Informações para importação da Nota Fiscal Eletrônica"]
357
-
358
- # Configurar Tipo de Despesa com base no fornecedor e natureza
359
- fornecedor = nota.get("nomeFornecedor", "").lower()
360
- natureza = nota.get("natureza", "")
361
- despesa = None
362
-
363
- if "brs" in fornecedor and natureza == "33":
364
- despesa = "192"
365
- elif "ataca" in fornecedor and natureza == "32":
366
- despesa = "15"
367
- elif "hygia" in fornecedor and natureza == "34":
368
- despesa = "193"
369
-
370
- if despesa is not None:
354
+ )
355
+ main_window = app["Informações para importação da Nota Fiscal Eletrônica"]
371
356
 
372
- console.print(f"Selecionando Tipo de Despesa: {despesa}...\n")
373
- tipo_despesa_work = await tipo_despesa(despesa)
374
- if not tipo_despesa_work.sucesso:
375
- return RpaRetornoProcessoDTO(
376
- sucesso=False,
377
- retorno=f"Erro ao configurar Tipo de Despesa: {tipo_despesa_work.retorno}",
378
- status=RpaHistoricoStatusEnum.Falha,
379
- )
357
+ combo_box_natureza_operacao = main_window.child_window(
358
+ class_name="TDBIComboBox", found_index=0
359
+ )
360
+ combo_box_natureza_operacao.click()
361
+ await worker_sleep(4)
362
+ set_combobox("||List", "1152-ENTRADA P/TRANSFERENCIA MERCADORIA S/EST")
363
+ await worker_sleep(3)
380
364
 
381
- # Configurar ICMS (inserir código e zerar tributação)
382
- console.print("Configurando ICMS...\n")
383
- cod_icms_work = await cod_icms("33")
384
- if not cod_icms_work.sucesso:
385
- return RpaRetornoProcessoDTO(
386
- sucesso=False,
387
- retorno=f"Erro ao configurar Código ICMS: {cod_icms_work.retorno}",
388
- status=RpaHistoricoStatusEnum.Falha,
389
- )
365
+ pyautogui.hotkey("tab")
390
366
 
391
- checkbox_zerar_icms = await zerar_icms()
392
- if not checkbox_zerar_icms.sucesso:
367
+ despesa = "291"
368
+ tipo_despesa_work = await tipo_despesa(despesa)
369
+ if tipo_despesa_work.sucesso == True:
370
+ console.log(tipo_despesa_work.retorno, style="bold green")
371
+ else:
393
372
  return RpaRetornoProcessoDTO(
394
373
  sucesso=False,
395
- retorno=f"Erro ao zerar tributação ICMS: {checkbox_zerar_icms.retorno}",
374
+ retorno=tipo_despesa_work.retorno,
396
375
  status=RpaHistoricoStatusEnum.Falha,
397
376
  )
398
377
 
399
- # Selecionar "Manter Natureza de Operação selecionada"
400
- console.print("Selecionando 'Manter Natureza de Operação selecionada'...\n")
401
- try:
402
- checkbox_natureza = main_window.child_window(
403
- title="Manter Natureza de Operação selecionada", class_name="TDBICheckBox"
404
- )
405
- if not checkbox_natureza.get_toggle_state():
406
- checkbox_natureza.click()
407
- console.print("'Manter Natureza de Operação selecionada' foi marcado com sucesso.\n")
408
- except Exception as e:
409
- return RpaRetornoProcessoDTO(
410
- sucesso=False,
411
- retorno=f"Erro ao selecionar 'Manter Natureza de Operação selecionada': {e}",
412
- status=RpaHistoricoStatusEnum.Falha,
413
- )
378
+ pyautogui.click(709, 669)
379
+
414
380
 
415
381
  console.print("Clicando em OK... \n")
416
382
 
@@ -423,8 +389,7 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
423
389
  btn_ok = main_window.child_window(title="Ok")
424
390
  btn_ok.click()
425
391
  except:
426
- btn_ok = main_window.child_window(title="&Ok")
427
- btn_ok.click()
392
+ pyautogui.click(1093,728)
428
393
  except:
429
394
  console.print("Não foi possivel clicar no Botão OK... \n")
430
395
 
@@ -27,11 +27,11 @@ from worker_automate_hub.utils.logger import logger
27
27
  from worker_automate_hub.utils.util import (
28
28
  is_window_open,
29
29
  is_window_open_by_class,
30
- kill_process,
31
30
  login_emsys_fiscal,
32
31
  set_variable,
33
32
  type_text_into_field,
34
33
  worker_sleep,
34
+ kill_all_emsys,
35
35
  )
36
36
 
37
37
  pyautogui.PAUSE = 0.5
@@ -55,7 +55,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
55
55
  set_variable("timeout_multiplicador", multiplicador_timeout)
56
56
 
57
57
  # Fecha a instancia do emsys - caso esteja aberta
58
- await kill_process("EMSysFiscal")
58
+ await kill_all_emsys()
59
59
 
60
60
  app = Application(backend="win32").start("C:\\Rezende\\EMSys3\\EMSysFiscal.exe")
61
61
  warnings.filterwarnings(
@@ -75,7 +75,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
75
75
  status=RpaHistoricoStatusEnum.Falha,
76
76
  )
77
77
 
78
-
78
+
79
79
  return_login = await login_emsys_fiscal(config.conConfiguracao, app, task)
80
80
  if return_login.sucesso == True:
81
81
  type_text_into_field(
@@ -141,14 +141,14 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
141
141
  console.print("Inserindo o período para geração do sped...\n")
142
142
  periodo = panel_TTabSheet.child_window(class_name="TDBIEditDate", found_index=2)
143
143
  periodo.set_edit_text(periodo_dt)
144
- await worker_sleep(1)
144
+ await worker_sleep(2)
145
145
 
146
146
  console.print("Selecionando a opção Gerar E115...\n")
147
147
  checkbox_gerar_e115 = main_window.child_window(class_name="TDBICheckBox", found_index=8)
148
148
  if not checkbox_gerar_e115.get_toggle_state() == 1:
149
149
  checkbox_gerar_e115.click()
150
150
  console.print("Selecionado com sucesso... \n")
151
- await worker_sleep(1)
151
+ await worker_sleep(2)
152
152
 
153
153
 
154
154
  console.print("Selecionando a opção Gerar valores zerados para notas de cfop 5929 e 6929...\n")
@@ -156,14 +156,14 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
156
156
  if not checkbox_gerar_cfop.get_toggle_state() == 1:
157
157
  checkbox_gerar_cfop.click()
158
158
  console.print("Selecionado com sucesso... \n")
159
- await worker_sleep(1)
159
+ await worker_sleep(2)
160
160
 
161
161
  console.print("Selecionando a opção Gerar valores zerados para IPI...\n")
162
162
  checkbox_valores_ipi = main_window.child_window(class_name="TCheckBox", found_index=1)
163
163
  if not checkbox_valores_ipi.get_toggle_state() == 1:
164
164
  checkbox_valores_ipi.click()
165
165
  console.print("Selecionado com sucesso... \n")
166
- await worker_sleep(1)
166
+ await worker_sleep(2)
167
167
 
168
168
 
169
169
  console.print("Gerar valores zerados para Base ST e Icms ST...\n")
@@ -171,7 +171,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
171
171
  if not checkbox_gerar_base_ct_icms_st.get_toggle_state() == 1:
172
172
  checkbox_gerar_base_ct_icms_st.click()
173
173
  console.print("Selecionado com sucesso... \n")
174
- await worker_sleep(1)
174
+ await worker_sleep(2)
175
175
 
176
176
  console.print("Todos os campos selecionados com sucesso, seguindo para geração do Sped Fiscal...\n")
177
177
  except Exception as e:
@@ -214,35 +214,45 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
214
214
  retorno=f"Não foi possivel seguir pois não foi fois possivel interagir com o botão de gerar sped na tela Gerar Sped Fiscal,Error: {e}",
215
215
  status=RpaHistoricoStatusEnum.Falha,
216
216
  )
217
+
218
+ console.print(f"Verificando sem possui o pop-up de Registro de Entrada... \n")
219
+ registro_entrada_pop_up_class = await is_window_open_by_class("TMsgBox")
220
+ if registro_entrada_pop_up_class == True:
221
+ console.print(f"Pop-up existe, clicando em Sim... \n")
222
+ app = Application(backend="win32").connect(class_name="TMsgBox", timeout=30)
223
+ main_window = app["TMsgBox"]
224
+ btn_sim = main_window["Sim"]
225
+ if btn_sim.exists():
226
+ try:
227
+ btn_sim.click()
228
+ await worker_sleep(3)
229
+ console.print("O botão Sim, na tela de Registro de Entrada foi clicado com sucesso.", style="green")
230
+ except:
231
+ console.print("Falha ao clicar no botão Sim na tela de Registro de Entrada", style="red")
232
+ else:
233
+ return RpaRetornoProcessoDTO(
234
+ sucesso=False,
235
+ retorno=f"Erro: Botão Sim, na tela de Registro de Entrada",
236
+ status=RpaHistoricoStatusEnum.Falha,
237
+ )
217
238
 
218
239
 
219
240
  max_attempts = 75
220
241
  i = 0
221
242
  while i < max_attempts:
222
243
  aviso_gerando_sped_full_path = "assets\\entrada_notas\\gerando_sped_fiscal.png.png"
223
- sped_gerado_element = False
224
- sped_gerado_ui = False
225
244
  try:
226
245
  aviso_gerando_sped_full_path = pyautogui.locateCenterOnScreen(aviso_gerando_sped_full_path, confidence=0.6)
227
246
  if aviso_gerando_sped_full_path:
228
247
  console.print(f"Gerando o arquivo Sped Fiscal...\n")
248
+ i += 1
249
+ console.print(f"Gerando o arquivo Sped Fiscal, Tentativa {i}/{max_attempts}: Aguarde mais 120 segundos...\n")
250
+ await worker_sleep(120)
229
251
  else:
230
- sped_gerado_ui = True
252
+ break
231
253
  except:
232
254
  console.print(f"Tela de gerando sped não encontrada, verificando via elemento para dupla confirmação...\n")
233
- sped_gerado_ui = True
234
-
235
- aguardar_sped = await is_window_open_by_class("TFrmAguarde", "TFrmAguarde")
236
- if aguardar_sped["IsOpened"] == False:
237
- sped_gerado_element = True
238
-
239
- if sped_gerado_element and sped_gerado_ui:
240
- console.print("Confirmação dupla: Nenhum indicador de SPED em progresso encontrado. Saindo do loop...\n")
241
- break
242
- else:
243
- i += 1
244
- console.print(f"Gerando o arquivo Sped Fiscal, Tentativa {i}/{max_attempts}: Aguarde mais 120 segundos...\n")
245
- await worker_sleep(120)
255
+ break
246
256
 
247
257
 
248
258
  # Verificando se possui pop-up de Aviso
@@ -316,17 +326,24 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
316
326
  # Verifica se a info 'Arquivo do SPED gerado com sucesso' está na tela
317
327
  await worker_sleep(6)
318
328
  try:
319
- max_attempts = 60
329
+ max_attempts = 30
320
330
  i = 0
321
331
 
322
332
  while i < max_attempts:
323
- information_pop_up = await is_window_open("Informação")
324
- if information_pop_up["IsOpened"] == True:
333
+ information_pop_up_class = await is_window_open_by_class("TMsgBox", "TMsgBox")
334
+ if information_pop_up_class == True:
325
335
  break
326
336
  else:
327
- console.print(f"Aguardando confirmação de nota incluida...\n")
337
+ console.print(f"Aguardando confirmação de sped finalizado...\n")
328
338
  await worker_sleep(5)
329
339
  i += 1
340
+
341
+ if i >= max_attempts:
342
+ return RpaRetornoProcessoDTO(
343
+ sucesso=False,
344
+ retorno="Não foi possivel obter o retorno de conclusão do SPED",
345
+ status=RpaHistoricoStatusEnum.Falha,
346
+ )
330
347
 
331
348
  app = Application().connect(class_name="TMsgBox")
332
349
  main_window = app["Informação"]
@@ -312,6 +312,7 @@ async def login_emsys_fiscal(
312
312
  )
313
313
 
314
314
  filial_cod = task.configEntrada.get("empresa")
315
+ console.print(f'Empresa a ser processada: {filial_cod}')
315
316
 
316
317
  try:
317
318
  console.print("\nEMSys Fiscal inciado com sucesso...", style="bold green")
@@ -339,48 +340,51 @@ async def login_emsys_fiscal(
339
340
 
340
341
 
341
342
  await worker_sleep(2)
342
- pyautogui.press("enter")
343
+ edit_password.type_keys("{ENTER}")
344
+ await worker_sleep(6)
343
345
 
344
- # Seleciona a filial do emsys
345
- console.print("Seleciona a filial do emsys...")
346
- selecao_filial = await find_element_center(
347
- "assets/emsys/selecao_filial.png", (480, 590, 820, 740), 15
348
- )
349
346
 
350
- console.print(f"Selecao filial via imagem: {selecao_filial}")
351
- if selecao_filial == None:
352
- screenshot_path = take_screenshot()
353
- selecao_filial = find_target_position(
354
- screenshot_path, "Grupo", 0, -50, attempts=15
355
- )
356
- console.print(
357
- f"Selecao filial localização de texto: {selecao_filial}"
347
+ max_attempts = 15
348
+ i = 0
349
+ while i < max_attempts:
350
+ selecionar_empresa = await is_window_open_by_class("TFrmSelecaoEmpresa", "TFrmSelecaoEmpresa")
351
+ if selecionar_empresa["IsOpened"] == True:
352
+ console.print("janela para gerar seleção da empresa foi aberta com sucesso...\n")
353
+ break
354
+ else:
355
+ warning_pop_up = await is_window_open("Warning")
356
+ information_pop = await is_window_open("Information")
357
+ if warning_pop_up["IsOpened"] == True or information_pop == True:
358
+ return RpaRetornoProcessoDTO(
359
+ sucesso=False,
360
+ retorno="Pop-up Warning/Information ao tentar realizar login",
361
+ status=RpaHistoricoStatusEnum.Falha,
362
+ )
363
+ else:
364
+ edit_password.type_keys("{ENTER}")
365
+ await worker_sleep(1)
366
+ i = i+1
367
+
368
+ if i >= max_attempts:
369
+ return RpaRetornoProcessoDTO(
370
+ sucesso=False,
371
+ retorno="Erro ao abrir a janela para seleção da empresa, tela não encontrada",
372
+ status=RpaHistoricoStatusEnum.Falha,
358
373
  )
359
- if selecao_filial == None:
360
- selecao_filial = (700, 639)
361
- console.print(f"Selecao filial posição fixa: {selecao_filial}")
362
374
 
363
- pyautogui.click(selecao_filial)
364
- console.print(
365
- f"Escrevendo [{filial_cod}] no campo filial..."
366
- )
375
+ # Seleciona a filial do emsys
376
+ console.print("Seleciona a filial do emsys...")
377
+ app = Application().connect(class_name="TFrmSelecaoEmpresa")
378
+ main_window = app["TFrmSelecaoEmpresa"]
379
+ main_window.set_focus()
367
380
 
368
- pyautogui.write(
369
- task.configEntrada.get("Código da Filial")
370
- )
381
+ edit_user = main_window.child_window(class_name="TEdit", found_index=0)
382
+ edit_user.set_edit_text(filial_cod)
371
383
 
372
- else:
373
- console.print(
374
- f"Escrevendo [{filial_cod}] no campo filial..."
375
- )
376
- type_text_into_field(
377
- task.configEntrada.get("Código da Filial"),
378
- app["Seleção de Empresas"]["Edit"],
379
- True,
380
- "50",
381
- )
382
- pyautogui.press("enter")
384
+ await worker_sleep(2)
385
+ edit_password.type_keys("{ENTER}")
383
386
 
387
+
384
388
  await worker_sleep(5)
385
389
  console.print(
386
390
  f"Verificando a presença de Warning..."
@@ -392,6 +396,29 @@ async def login_emsys_fiscal(
392
396
  retorno=f"Erro: Não foi possível acessar a filial {filial_cod}, esta com o CNPJ bloqueado, por favor verificar",
393
397
  status=RpaHistoricoStatusEnum.Falha,
394
398
  )
399
+
400
+ information_pop_up = await is_window_open_by_class("TMessageForm","TMessageForm")
401
+ if information_pop_up["IsOpened"] == True:
402
+ app_information = Application().connect(
403
+ class_name="TMessageForm"
404
+ )
405
+ main_window_information = app_information["TMessageForm"]
406
+ main_window.set_focus()
407
+ await worker_sleep(2)
408
+ btn_no = main_window_information["&No"]
409
+ if btn_no.exists():
410
+ try:
411
+ btn_no.click()
412
+ await worker_sleep(3)
413
+ console.print("O botão No após selecionar a filiam na seleção de empresa foi clicado com sucesso.", style="green")
414
+ except:
415
+ console.print("Falha ao clicar no botão No após selecionar a filiam na seleção de empresa", style="red")
416
+ else:
417
+ return RpaRetornoProcessoDTO(
418
+ sucesso=False,
419
+ retorno=f"Erro: Botão No, nao existe no pop-up information após a seleção da filial da empresa",
420
+ status=RpaHistoricoStatusEnum.Falha,
421
+ )
395
422
 
396
423
  max_attempts = 10
397
424
  i = 0
@@ -3102,4 +3129,21 @@ async def check_nota_importada(xml_nota: str) -> RpaRetornoProcessoDTO:
3102
3129
  sucesso=False,
3103
3130
  retorno=f"Erro em obter o retorno, Nota inserida com sucesso, erro {e}",
3104
3131
  status=RpaHistoricoStatusEnum.Falha,
3132
+ )
3133
+
3134
+
3135
+ async def kill_all_emsys():
3136
+ try:
3137
+ await kill_process("EMSysFiscal")
3138
+ await kill_process("EMSys")
3139
+ return RpaRetornoProcessoDTO(
3140
+ sucesso=True,
3141
+ retorno=f"EMSys encerrado com sucesso",
3142
+ status=RpaHistoricoStatusEnum.Sucesso,
3143
+ )
3144
+ except Exception as e:
3145
+ return RpaRetornoProcessoDTO(
3146
+ sucesso=False,
3147
+ retorno=f"Erro ao fechar o emsys, erro{e}",
3148
+ status=RpaHistoricoStatusEnum.Falha,
3105
3149
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.346
3
+ Version: 0.4.349
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
@@ -44,7 +44,7 @@ worker_automate_hub/tasks/jobs/entrada_de_notas_32.py,sha256=bAzQZD6EP7_eofC0GL4
44
44
  worker_automate_hub/tasks/jobs/entrada_de_notas_33.py,sha256=zwDQzPbqqw1RpjJkF3VSkMnqgrzjFAXLGq7xrFo5D0o,31459
45
45
  worker_automate_hub/tasks/jobs/entrada_de_notas_34.py,sha256=RGYSCUwVIsdM3pRIOhezR0IKlfwfDFy_NPZO1auBXwk,31811
46
46
  worker_automate_hub/tasks/jobs/entrada_de_notas_36.py,sha256=s6FVDaEer86EGM623IswqUTQEdTcusZRCrhB2vdxHf8,22719
47
- worker_automate_hub/tasks/jobs/entrada_de_notas_39.py,sha256=aAYbF2bPdFp6xya6s8sGtktpMs5SKnwikTiEKK49038,30359
47
+ worker_automate_hub/tasks/jobs/entrada_de_notas_39.py,sha256=qehK7bOuDF9krcaA354ByEDHAUt70eyKd8CRNI9U_-0,28388
48
48
  worker_automate_hub/tasks/jobs/entrada_de_notas_500.py,sha256=Pls1zcdhgiU8csrtXGUq9m8rCZm2xmK45dld6N1MKdM,26598
49
49
  worker_automate_hub/tasks/jobs/entrada_de_notas_505.py,sha256=G2EwCtsltWOAVg5iUg0VSp88OBJeI5U4122QfZORyp4,14493
50
50
  worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py,sha256=Fp9hCyXqKY2o7Ijsd_tll5ZcR2KLxxlzdWeyGWnggcI,14187
@@ -54,7 +54,7 @@ worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py,sha256=Y-mKYcgX1kwcy_s
54
54
  worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py,sha256=QBGm6eS5JghgNWNqZlk1g2a2iV8LnBLiOTBBL3Giet0,4181
55
55
  worker_automate_hub/tasks/jobs/login_emsys.py,sha256=IoGCIvO4UwmuxOZEn3cvYJlKyhsWvtHvbFk8vwjTroQ,5620
56
56
  worker_automate_hub/tasks/jobs/playground.py,sha256=bdnXv3C7WLQUxt4edGZDfAbRJJ2-q4zuIQaK3GLnaUc,1765
57
- worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=7HxF-bHoBXtLmJFAWoG556e9NlmjyvbkI6zdlYdynNg,19548
57
+ worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=ZumAOktR22DhkA6Q23mcdEqlWO4VEagoqzWciGPKvbc,20451
58
58
  worker_automate_hub/tasks/jobs/transferencias.py,sha256=keCUlvbPhLrTiZQ9Co_r6IqL5wjYqVGB_-mgvdDe9pM,36080
59
59
  worker_automate_hub/tasks/task_definitions.py,sha256=2Jp1H4_qJZqqGyaP6MA87KLt4QNrtWBYWbXu-2gymFo,4459
60
60
  worker_automate_hub/tasks/task_executor.py,sha256=QqVNRljSlSbSXzTwKLezMjCLej6AixuBcDAhDrqmAkU,8435
@@ -64,10 +64,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
64
64
  worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
65
65
  worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
66
66
  worker_automate_hub/utils/updater.py,sha256=0LR6Xpe3HZk-xu-trH7vKRhP5FXp0nhp1qxtygE2Jps,7280
67
- worker_automate_hub/utils/util.py,sha256=O3gPOqUJOQBaxEGvjXlQRWxW76kPb5pJOizshzWP3cA,117264
67
+ worker_automate_hub/utils/util.py,sha256=sjmrbCk-BV3kr2etCkq45uzmeBXI59CqJcjwXB9Pl-A,119401
68
68
  worker_automate_hub/utils/utils_nfe_entrada.py,sha256=4--3HDyWddT8vw2mBNY_-9IscvAQYBygwPIMiKvAG-w,27583
69
69
  worker_automate_hub/worker.py,sha256=vkl_x7gSo6nQlhSBLwRkGx6LEONnYptfBaGxOy1ZLsE,4634
70
- worker_automate_hub-0.4.346.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
- worker_automate_hub-0.4.346.dist-info/METADATA,sha256=KlAnt1TlwvtMkMRhxLF0tzqbp88RFTx3TdIdWjjeBT0,2895
72
- worker_automate_hub-0.4.346.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
- worker_automate_hub-0.4.346.dist-info/RECORD,,
70
+ worker_automate_hub-0.4.349.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
+ worker_automate_hub-0.4.349.dist-info/METADATA,sha256=t0wYppQzH6C8LB5Lm7AQwsum_w0yl1nLldCIAv59pxw,2895
72
+ worker_automate_hub-0.4.349.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
+ worker_automate_hub-0.4.349.dist-info/RECORD,,