worker-automate-hub 0.5.806__py3-none-any.whl → 0.5.808__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.
- worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py +63 -112
- worker_automate_hub/tasks/jobs/opex_capex.py +97 -22
- worker_automate_hub/utils/util.py +21 -3
- {worker_automate_hub-0.5.806.dist-info → worker_automate_hub-0.5.808.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.5.806.dist-info → worker_automate_hub-0.5.808.dist-info}/RECORD +7 -7
- {worker_automate_hub-0.5.806.dist-info → worker_automate_hub-0.5.808.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.5.806.dist-info → worker_automate_hub-0.5.808.dist-info}/entry_points.txt +0 -0
@@ -67,17 +67,6 @@ async def wait_aguarde_window_closed(app, timeout=60):
|
|
67
67
|
console.log("Timeout esperando a janela Aguarde...")
|
68
68
|
|
69
69
|
|
70
|
-
def click_desconfirmar():
|
71
|
-
cords = (675, 748)
|
72
|
-
pyautogui.click(x=cords[0], y=cords[1])
|
73
|
-
|
74
|
-
|
75
|
-
def ctrl_c():
|
76
|
-
pyautogui.press("tab", presses=12) # verificar
|
77
|
-
pyautogui.hotkey("ctrl", "c")
|
78
|
-
return pyperclip.paste()
|
79
|
-
|
80
|
-
|
81
70
|
async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
82
71
|
try:
|
83
72
|
config = await get_config_by_name("login_emsys_fiscal")
|
@@ -365,10 +354,10 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
365
354
|
info_window.child_window(
|
366
355
|
class_name="Button", found_index=0
|
367
356
|
).click_input()
|
368
|
-
except
|
369
|
-
|
370
|
-
except
|
371
|
-
|
357
|
+
except:
|
358
|
+
pass
|
359
|
+
except:
|
360
|
+
pass
|
372
361
|
|
373
362
|
# Verifica se a janela TMsgBox de aviso está aberta
|
374
363
|
try:
|
@@ -378,25 +367,49 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
378
367
|
box.set_focus()
|
379
368
|
box.child_window(class_name="TBitBtn", found_index=0).click_input()
|
380
369
|
print("Clicou no botão 'TBitBtn'.")
|
381
|
-
except
|
370
|
+
except:
|
382
371
|
pass
|
383
|
-
except Exception as e:
|
384
|
-
print(f"[Erro ao procurar/clicar na TMessageForm]: {e}")
|
385
372
|
|
386
373
|
# 2. Verifica e trata janela de confirmação TMessageForm
|
387
374
|
try:
|
388
|
-
|
389
|
-
|
390
|
-
)
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
375
|
+
# img_dialog = r"C:\Users\automatehub\Documents\GitHub\worker-automate-hub\assets\abertura_livros\notas_rejeitadas.png"
|
376
|
+
img_dialog = "assets\\abertura_livros\\notas_rejeitadas.png"
|
377
|
+
if os.path.exists(img_dialog):
|
378
|
+
caixa = pyautogui.locateOnScreen(img_dialog, confidence=0.86, grayscale=True)
|
379
|
+
if caixa:
|
380
|
+
print("Janela 'notas rejeitadas' detectada por imagem.")
|
381
|
+
region = (caixa.left, caixa.top, caixa.width, caixa.height)
|
382
|
+
|
383
|
+
app_msg = Application().connect(
|
384
|
+
class_name="TMessageForm", timeout=2
|
385
|
+
)
|
386
|
+
form = app_msg["TMessageForm"]
|
387
|
+
console.print("Janela de confirmação 'TMessageForm' encontrada.")
|
388
|
+
form.set_focus()
|
389
|
+
form.child_window(class_name="TButton", found_index=1).click_input()
|
390
|
+
print("Clicou no botão de confirmação.")
|
391
|
+
|
392
|
+
await worker_sleep(5)
|
393
|
+
|
394
|
+
# img_dialog = r"C:\Users\automatehub\Documents\GitHub\worker-automate-hub\assets\abertura_livros\gerar_rel_notas_rejeitadas.png"
|
395
|
+
img_dialog = "assets\\abertura_livros\\gerar_rel_notas_rejeitadas.png"
|
396
|
+
if os.path.exists(img_dialog):
|
397
|
+
caixa = pyautogui.locateOnScreen(img_dialog, confidence=0.86, grayscale=True)
|
398
|
+
if caixa:
|
399
|
+
print("Janela 'notas rejeitadas' detectada por imagem.")
|
400
|
+
region = (caixa.left, caixa.top, caixa.width, caixa.height)
|
401
|
+
|
402
|
+
app_msg = Application().connect(
|
403
|
+
class_name="TMessageForm", timeout=2
|
404
|
+
)
|
405
|
+
form = app_msg["TMessageForm"]
|
406
|
+
console.print("Janela de confirmação 'TMessageForm' encontrada.")
|
407
|
+
form.set_focus()
|
408
|
+
form.child_window(class_name="TButton", found_index=0).click_input()
|
409
|
+
print("Clicou no botão de confirmação.")
|
410
|
+
except:
|
397
411
|
pass
|
398
|
-
|
399
|
-
print(f"[Erro ao procurar/clicar na TMessageForm]: {e}")
|
412
|
+
|
400
413
|
|
401
414
|
# 3. Verifica se a janela do relatório está aberta
|
402
415
|
try:
|
@@ -406,10 +419,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
406
419
|
janela = app_report["TFrmPreviewRelatorio"]
|
407
420
|
print("Janela 'TFrmPreviewRelatorio' encontrada.")
|
408
421
|
janela_aberta = True
|
409
|
-
except
|
422
|
+
except:
|
410
423
|
pass
|
411
|
-
|
412
|
-
print(f"[Erro ao procurar TFrmPreviewRelatorio]: {e}")
|
424
|
+
|
413
425
|
|
414
426
|
# Se encontrou a janela de relatório, sai
|
415
427
|
if janela_aberta:
|
@@ -444,9 +456,27 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
444
456
|
main_window = app["TFrmPreviewRelatorio"]
|
445
457
|
main_window.set_focus()
|
446
458
|
|
459
|
+
# Verificando se a foi confirmado os livres
|
460
|
+
console.print("Verificando se os livros foram confirmados")
|
461
|
+
|
462
|
+
# imagem = r"C:\Users\automatehub\Documents\GitHub\worker-automate-hub\assets\abertura_livros\confirmado_livros.png"
|
463
|
+
imagem = "assets\\abertura_livros\\confirmado_livros.png"
|
464
|
+
if os.path.exists(imagem):
|
465
|
+
caixa = pyautogui.locateOnScreen(imagem, confidence=0.9, grayscale=True)
|
466
|
+
else:
|
467
|
+
console.print("Imagem confirmada não encontrada")
|
468
|
+
return RpaRetornoProcessoDTO(
|
469
|
+
sucesso=False,
|
470
|
+
retorno=f"Erro na Abertura de Livro Fiscal: Imagem confirmada não encontrada",
|
471
|
+
status=RpaHistoricoStatusEnum.Falha,
|
472
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
|
473
|
+
)
|
474
|
+
|
447
475
|
# Clicar em fechar
|
448
476
|
main_window.close()
|
449
477
|
|
478
|
+
console.print("Livros confirmados")
|
479
|
+
|
450
480
|
await worker_sleep(5)
|
451
481
|
|
452
482
|
# Conecta na janela principal
|
@@ -577,86 +607,6 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
577
607
|
|
578
608
|
await worker_sleep(2)
|
579
609
|
|
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"
|
587
|
-
try:
|
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}")
|
600
|
-
|
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}")
|
613
|
-
|
614
|
-
# 2. Verifica e trata janela de confirmação TMessageForm
|
615
|
-
try:
|
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
|
631
|
-
except Exception as e:
|
632
|
-
print(f"[Erro ao procurar/clicar na TMessageForm]: {e}")
|
633
|
-
|
634
|
-
await worker_sleep(5)
|
635
|
-
|
636
|
-
# 3. Verifica se a janela do relatório está aberta
|
637
|
-
try:
|
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
|
644
|
-
except Exception as e:
|
645
|
-
print(f"[Erro ao procurar TFrmPreviewRelatorio]: {e}")
|
646
|
-
|
647
|
-
# Se encontrou a janela de relatório, sai
|
648
|
-
if janela_aberta:
|
649
|
-
print("Relatório carregado. Saindo do loop.")
|
650
|
-
break
|
651
|
-
|
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)
|
659
|
-
|
660
610
|
|
661
611
|
# === 5) Se não houve 'Aviso' com erro mapeado, considera sucesso ===
|
662
612
|
console.print("Nenhum erro confirmado. Fluxo OK.")
|
@@ -682,3 +632,4 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
682
632
|
status=RpaHistoricoStatusEnum.Falha,
|
683
633
|
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
|
684
634
|
)
|
635
|
+
|
@@ -12,7 +12,7 @@ import win32clipboard
|
|
12
12
|
from PIL import Image, ImageEnhance
|
13
13
|
from pywinauto.application import Application
|
14
14
|
from pywinauto.keyboard import send_keys
|
15
|
-
from pywinauto.timings import wait_until
|
15
|
+
from pywinauto.timings import TimeoutError as PywTimeout, wait_until
|
16
16
|
from pywinauto_recorder.player import set_combobox
|
17
17
|
from rich.console import Console
|
18
18
|
import sys
|
@@ -471,6 +471,7 @@ async def opex_capex(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
471
471
|
|
472
472
|
# Clicar em itens da nota
|
473
473
|
imagem = "assets\\entrada_notas\\itens_nota.png"
|
474
|
+
# imagem = r"C:\Users\automatehub\Documents\GitHub\worker-automate-hub\assets\entrada_notas\itens_nota.png"
|
474
475
|
|
475
476
|
# Tenta localizar a imagem na tela
|
476
477
|
while True:
|
@@ -547,6 +548,11 @@ async def opex_capex(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
547
548
|
send_keys("{ENTER}")
|
548
549
|
except Exception as e:
|
549
550
|
print(f"Erro ao selecionar opção: {e}")
|
551
|
+
# Localize o combobox pelo class_name
|
552
|
+
combo = main_window.child_window(class_name="TDBIComboBox", found_index=4)
|
553
|
+
|
554
|
+
# Seleciona diretamente o texto
|
555
|
+
combo.select("IPI 0%")
|
550
556
|
|
551
557
|
# Clicar em alterar
|
552
558
|
main_window.child_window(class_name="TDBIBitBtn", found_index=3).click()
|
@@ -585,27 +591,99 @@ async def opex_capex(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
585
591
|
|
586
592
|
panel_TabPagamento = panel_TTabSheet.child_window(title="Pagamento")
|
587
593
|
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
# Lista de opções em ordem de prioridade
|
594
|
+
# Combo alvo (ajuste found_index se precisar)
|
595
|
+
tipo_cobranca = panel_TTabSheet.child_window(class_name="TDBIComboBox", found_index=0)
|
596
|
+
|
597
|
+
# Ordem de preferência
|
593
598
|
opcoes = [
|
594
599
|
"BANCO DO BRASIL BOLETO FIDC",
|
595
600
|
"BANCO DO BRASIL BOLETO",
|
596
|
-
"BOLETO"
|
601
|
+
"BOLETO",
|
597
602
|
]
|
598
603
|
|
599
|
-
#
|
600
|
-
|
601
|
-
for
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
604
|
+
# 1) Tenta .select() direto (não digita nada)
|
605
|
+
selecionado = None
|
606
|
+
for alvo in opcoes:
|
607
|
+
try:
|
608
|
+
tipo_cobranca.select(alvo)
|
609
|
+
if tipo_cobranca.window_text().strip().lower() == alvo.lower():
|
610
|
+
selecionado = alvo
|
611
|
+
break
|
612
|
+
except Exception:
|
613
|
+
pass
|
614
|
+
|
615
|
+
# 2) Abre a LISTA e seleciona o item exato (sem digitar)
|
616
|
+
if not selecionado:
|
617
|
+
tipo_cobranca.set_focus()
|
618
|
+
tipo_cobranca.click_input()
|
619
|
+
send_keys('%{DOWN}') # ALT+DOWN para abrir o dropdown
|
620
|
+
# tenta achar a janela da lista (Delphi/Win32)
|
621
|
+
lista = None
|
622
|
+
app = tipo_cobranca.app
|
623
|
+
for crit in (dict(title="||List"), dict(class_name="ComboLBox"), dict(class_name_re=".*(List|Combo).*")):
|
624
|
+
try:
|
625
|
+
cand = app.window(**crit)
|
626
|
+
if cand.exists(timeout=0.5):
|
627
|
+
lista = cand
|
628
|
+
break
|
629
|
+
except Exception:
|
630
|
+
pass
|
631
|
+
|
632
|
+
if lista:
|
633
|
+
# tenta selecionar por índice (texto exato)
|
634
|
+
try:
|
635
|
+
itens = [t.strip() for t in lista.texts() if str(t).strip()]
|
636
|
+
except Exception:
|
637
|
+
itens = []
|
638
|
+
|
639
|
+
idx_alvo = -1
|
640
|
+
alvo_escolhido = None
|
641
|
+
for alvo in opcoes:
|
642
|
+
for i, t in enumerate(itens):
|
643
|
+
if t.lower() == alvo.lower():
|
644
|
+
idx_alvo = i
|
645
|
+
alvo_escolhido = alvo
|
646
|
+
break
|
647
|
+
if idx_alvo >= 0:
|
648
|
+
break
|
649
|
+
|
650
|
+
if idx_alvo >= 0:
|
651
|
+
try:
|
652
|
+
lista.select(idx_alvo)
|
653
|
+
except Exception:
|
654
|
+
# fallback por teclas sem digitar texto do item
|
655
|
+
send_keys('{HOME}')
|
656
|
+
for _ in range(idx_alvo):
|
657
|
+
send_keys('{DOWN}')
|
658
|
+
send_keys('{ENTER}')
|
659
|
+
try:
|
660
|
+
wait_until(2, 0.2, lambda: tipo_cobranca.window_text().strip() != "")
|
661
|
+
except PywTimeout:
|
662
|
+
pass
|
663
|
+
if tipo_cobranca.window_text().strip().lower() == alvo_escolhido.lower():
|
664
|
+
selecionado = alvo_escolhido
|
665
|
+
else:
|
666
|
+
# fallback só com setas (sem digitar): vai ao topo e desce checando
|
667
|
+
send_keys('{HOME}')
|
668
|
+
vistos = set()
|
669
|
+
for _ in range(60):
|
670
|
+
atual = tipo_cobranca.window_text().strip()
|
671
|
+
if atual.lower() in (o.lower() for o in opcoes):
|
672
|
+
send_keys('{ENTER}')
|
673
|
+
selecionado = atual
|
674
|
+
break
|
675
|
+
if atual.lower() in vistos:
|
676
|
+
# deu a volta
|
677
|
+
send_keys('{ESC}')
|
678
|
+
break
|
679
|
+
vistos.add(atual.lower())
|
680
|
+
send_keys('{DOWN}')
|
681
|
+
|
682
|
+
# (opcional) validação dura
|
683
|
+
if not selecionado or selecionado.lower() not in (o.lower() for o in opcoes):
|
684
|
+
raise RuntimeError(f"Não consegui selecionar uma opção válida. Ficou: '{tipo_cobranca.window_text().strip()}'")
|
685
|
+
|
686
|
+
print("Selecionado:", selecionado)
|
609
687
|
|
610
688
|
dt_vencimento_nota = nota.get("dataVencimento") # vem como '2025-09-26'
|
611
689
|
data_atual = datetime.now().date()
|
@@ -634,10 +712,8 @@ async def opex_capex(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
634
712
|
|
635
713
|
console.print(f"Incluindo registro...\n")
|
636
714
|
try:
|
637
|
-
|
638
|
-
inserir_registro = pyautogui.locateOnScreen(
|
639
|
-
"assets\\entrada_notas\\IncluirRegistro.png", confidence=0.8
|
640
|
-
)
|
715
|
+
inserir_registro = pyautogui.locateOnScreen("assets\entrada_notas\IncluirRegistro.png", confidence=0.8)
|
716
|
+
# inserir_registro = pyautogui.locateOnScreen(r"C:\Users\automatehub\Documents\GitHub\worker-automate-hub\assets\entrada_notas\IncluirRegistro.png", confidence=0.8)
|
641
717
|
pyautogui.click(inserir_registro)
|
642
718
|
except Exception as e:
|
643
719
|
console.print(
|
@@ -830,4 +906,3 @@ async def opex_capex(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
830
906
|
# Deleta o xml
|
831
907
|
await delete_xml(numero_nota)
|
832
908
|
|
833
|
-
|
@@ -339,9 +339,27 @@ async def login_emsys_fiscal(
|
|
339
339
|
message="32-bit application should be automated using 32-bit Python",
|
340
340
|
)
|
341
341
|
await worker_sleep(2)
|
342
|
-
filial_cod =
|
343
|
-
|
344
|
-
|
342
|
+
filial_cod = (
|
343
|
+
task.configEntrada.get("empresa")
|
344
|
+
or task.configEntrada.get("filialEmpresaOrigem")
|
345
|
+
or task.configEntrada.get("descricaoFilial")
|
346
|
+
)
|
347
|
+
|
348
|
+
# Extrai apenas os dígitos iniciais da string
|
349
|
+
num = None
|
350
|
+
if filial_cod is not None:
|
351
|
+
s = str(filial_cod).strip()
|
352
|
+
m = re.match(r'^(\d+)', s) # pega o número do INÍCIO
|
353
|
+
if not m:
|
354
|
+
m = re.search(r'\d+', s) # fallback: primeiro número que aparecer
|
355
|
+
if m:
|
356
|
+
num = m.group(1)
|
357
|
+
|
358
|
+
if num is None:
|
359
|
+
raise ValueError(f"Não foi possível extrair número de: {filial_cod!r}")
|
360
|
+
|
361
|
+
filial_cod = num
|
362
|
+
|
345
363
|
console.print(f"Empresa a ser processada: {filial_cod}")
|
346
364
|
|
347
365
|
try:
|
@@ -36,7 +36,7 @@ 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=
|
39
|
+
worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py,sha256=HYIp3eYyMc2JsMw9VGlgjxSeuQB3400_LLTyxJi9VYE,25203
|
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
|
@@ -88,7 +88,7 @@ worker_automate_hub/tasks/jobs/lancamento_rateio.py,sha256=0cvbpuJiHl5mca5gpZudX
|
|
88
88
|
worker_automate_hub/tasks/jobs/login_emsys.py,sha256=dO9S027qRTtjOfytF6IWO-m6hDld8kZqOVAsn91l1YA,5684
|
89
89
|
worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py,sha256=_6CFh79eaW9KdPGR6FMV01ASPjJzNzzBK1MvC_uiSOo,5625
|
90
90
|
worker_automate_hub/tasks/jobs/notas_faturamento_sap.py,sha256=p6tVE027FHHXBxt2sIDxqLInpf_0wS-8TcACnS34p7w,13961
|
91
|
-
worker_automate_hub/tasks/jobs/opex_capex.py,sha256=
|
91
|
+
worker_automate_hub/tasks/jobs/opex_capex.py,sha256=hp0B7QTTO1TTQR8xVyCxpYgwixglipx3CKT9ZDvA4ao,36879
|
92
92
|
worker_automate_hub/tasks/jobs/playground.py,sha256=7vWDg9DwToHwGJ6_XOa8TQ6LmfRV5Qz2TaOV3q3P9sA,1918
|
93
93
|
worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=Zsq-IwKxA0b2tikO6Rri4WXVj10jK-Jd0-gxk8yVBH0,31064
|
94
94
|
worker_automate_hub/tasks/jobs/transferencias.py,sha256=5TIktufkvUPnVTR2gf7GFQJ5KQP6PWnmoWiE08WiVDQ,46191
|
@@ -100,10 +100,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
|
|
100
100
|
worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
|
101
101
|
worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
|
102
102
|
worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
|
103
|
-
worker_automate_hub/utils/util.py,sha256=
|
103
|
+
worker_automate_hub/utils/util.py,sha256=HXXGEEeGQd-gD_u8W0_aPYVDiMB9bKF-rJBl-m6RiRM,210781
|
104
104
|
worker_automate_hub/utils/utils_nfe_entrada.py,sha256=F7jk95LpDwl5WfaQXahCA5yDdnySnWdctDqczHXwGqE,38195
|
105
105
|
worker_automate_hub/worker.py,sha256=zEnYUrm5kY2cHbbee15QJkwkx4euD2SB2zRvUIbjS90,6850
|
106
|
-
worker_automate_hub-0.5.
|
107
|
-
worker_automate_hub-0.5.
|
108
|
-
worker_automate_hub-0.5.
|
109
|
-
worker_automate_hub-0.5.
|
106
|
+
worker_automate_hub-0.5.808.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
107
|
+
worker_automate_hub-0.5.808.dist-info/METADATA,sha256=KRbybp0DZrAekkD5tpiMu3ZjLifTcxe1myhczvqeqMY,3100
|
108
|
+
worker_automate_hub-0.5.808.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
109
|
+
worker_automate_hub-0.5.808.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.5.806.dist-info → worker_automate_hub-0.5.808.dist-info}/entry_points.txt
RENAMED
File without changes
|