worker-automate-hub 0.4.346__py3-none-any.whl → 0.4.349__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.
@@ -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,,