worker-automate-hub 0.5.89__py3-none-any.whl → 0.5.90__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +169 -169
- worker_automate_hub/utils/util.py +5 -8
- {worker_automate_hub-0.5.89.dist-info → worker_automate_hub-0.5.90.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.5.89.dist-info → worker_automate_hub-0.5.90.dist-info}/RECORD +6 -6
- {worker_automate_hub-0.5.89.dist-info → worker_automate_hub-0.5.90.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.5.89.dist-info → worker_automate_hub-0.5.90.dist-info}/entry_points.txt +0 -0
@@ -795,217 +795,217 @@ async def devolucao_prazo_a_faturar(task: RpaProcessoEntradaDTO) -> RpaRetornoPr
|
|
795
795
|
await worker_sleep(1)
|
796
796
|
pyautogui.press('enter')
|
797
797
|
|
798
|
-
numero_nota_fiscal = "1777083"
|
799
798
|
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
799
|
+
#STEP 3
|
800
|
+
type_text_into_field("Gerenciador de Notas Fiscais", app["TFrmMenuPrincipal"]["Edit"], True, "50")
|
801
|
+
pyautogui.press("enter")
|
802
|
+
await worker_sleep(2)
|
803
|
+
pyautogui.press("enter")
|
804
|
+
await worker_sleep(5)
|
805
|
+
console.print(f"\nPesquisa: 'Gerenciador de Notas Fiscais' realizada com sucesso",style="bold green")
|
806
|
+
pesquisar_venda_devolucao = await is_window_open_by_class("TFrmGerenciadorNFe2", "TFrmGerenciadorNFe2")
|
807
|
+
if pesquisar_venda_devolucao["IsOpened"] == True:
|
808
|
+
console.print(f"\n'Gerenciador de Notas Fiscais'aberta com sucesso",style="bold green")
|
809
|
+
selecionar_itens_gerenciador_nfe = await gerenciador_nf_header(data_hoje, cod_cliente_incorreto)
|
810
|
+
if selecionar_itens_gerenciador_nfe.sucesso:
|
811
|
+
console.print("PROCESSO EXECUTADO COM SUCESSO, SEGUINDO COM O PROCESSO PARA TRANSMITIR A NF-E...\n")
|
812
|
+
app = Application().connect(class_name="TFrmGerenciadorNFe2", timeout=10)
|
813
|
+
main_window = app["TFrmGerenciadorNFe2"]
|
814
|
+
main_window.set_focus()
|
816
815
|
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
816
|
+
console.print("Obtendo informacao da tela para o botao Transfimitir\n")
|
817
|
+
tpanel_footer = main_window.child_window(class_name="TPanel", found_index=1)
|
818
|
+
btn_transmitir = tpanel_footer.child_window(class_name="TBitBtn", found_index=5)
|
819
|
+
btn_transmitir.click()
|
820
|
+
console.print("Transmitir clicado com sucesso...\n")
|
821
|
+
await worker_sleep(3)
|
823
822
|
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
823
|
+
max_attempts = 10
|
824
|
+
i = 0
|
825
|
+
console.print("Aguardando pop de operacação concluida \n")
|
826
|
+
while i < max_attempts:
|
827
|
+
try:
|
828
|
+
app = Application().connect(class_name="TFrmProcessamentoNFe2", timeout=10)
|
829
|
+
main_window = app["TFrmProcessamentoNFe2"]
|
830
|
+
|
831
|
+
await worker_sleep(5)
|
832
|
+
information_pop_up = await is_window_open_by_class("TMessageForm", "TMessageForm")
|
833
|
+
if information_pop_up["IsOpened"] == True:
|
834
|
+
msg_pop_up = await ocr_by_class(numero_nota_fiscal, "TMessageForm", "TMessageForm")
|
835
|
+
if msg_pop_up.sucesso:
|
836
|
+
if 'concl' in msg_pop_up.lower():
|
837
|
+
try:
|
838
|
+
information_operacao_concluida = main_window.child_window(class_name="TMessageForm")
|
839
|
+
btn_ok = information_operacao_concluida.child_window(class_name="TButton")
|
840
|
+
btn_ok.click()
|
841
|
+
await worker_sleep(4)
|
842
|
+
except:
|
843
|
+
pyautogui.press('enter')
|
844
|
+
await worker_sleep(4)
|
845
|
+
break
|
846
|
+
else:
|
847
|
+
retorno = f"Pop up nao mapeado para seguimento do robo {msg_pop_up} \nEtapas Executadas:\n{steps}"
|
848
|
+
return RpaRetornoProcessoDTO(
|
849
|
+
sucesso=False,
|
850
|
+
retorno=retorno,
|
851
|
+
status=RpaHistoricoStatusEnum.Falha,
|
852
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
853
|
+
)
|
847
854
|
else:
|
848
|
-
retorno = f"
|
855
|
+
retorno = f"Não foi possivel realizar a confirmação do msg do OCR \nEtapas Executadas:\n{steps}"
|
849
856
|
return RpaRetornoProcessoDTO(
|
850
857
|
sucesso=False,
|
851
858
|
retorno=retorno,
|
852
859
|
status=RpaHistoricoStatusEnum.Falha,
|
853
860
|
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
854
861
|
)
|
855
|
-
|
856
|
-
|
857
|
-
return RpaRetornoProcessoDTO(
|
858
|
-
sucesso=False,
|
859
|
-
retorno=retorno,
|
860
|
-
status=RpaHistoricoStatusEnum.Falha,
|
861
|
-
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
862
|
-
)
|
863
|
-
except Exception as e:
|
864
|
-
pass
|
862
|
+
except Exception as e:
|
863
|
+
pass
|
865
864
|
|
866
865
|
|
867
|
-
|
868
|
-
|
869
|
-
|
866
|
+
i += 1
|
867
|
+
await worker_sleep(10)
|
868
|
+
|
870
869
|
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
870
|
+
if i == max_attempts:
|
871
|
+
console.print("Número máximo de tentativas atingido. Encerrando...")
|
872
|
+
retorno = f"Tempo esgotado e numero de tentativas atingido, não foi possivel obter o retorno de conclusão para transmissão na tela de Gerenciador NF-e \nEtapas Executadas:\n{steps}"
|
873
|
+
return RpaRetornoProcessoDTO(
|
874
|
+
sucesso=False,
|
875
|
+
retorno=retorno,
|
876
|
+
status=RpaHistoricoStatusEnum.Falha,
|
877
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
878
|
+
)
|
879
|
+
|
881
880
|
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
881
|
+
console.print("Verificando se a nota foi transmitida com sucesso")
|
882
|
+
app = Application().connect(class_name="TFrmProcessamentoNFe2", timeout=15)
|
883
|
+
main_window = app["TFrmProcessamentoNFe2"]
|
884
|
+
main_window.set_focus()
|
886
885
|
|
887
|
-
|
886
|
+
tpanel_footer = main_window.child_window(class_name="TGroupBox", found_index=0)
|
888
887
|
|
889
|
-
|
890
|
-
|
891
|
-
|
888
|
+
rect = tpanel_footer.rectangle()
|
889
|
+
center_x = (rect.left + rect.right) // 2
|
890
|
+
center_y = (rect.top + rect.bottom) // 2
|
892
891
|
|
893
|
-
|
894
|
-
|
892
|
+
pyautogui.moveTo(center_x, center_y)
|
893
|
+
double_click(coords=(center_x, center_y))
|
895
894
|
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
895
|
+
with pyautogui.hold('ctrl'):
|
896
|
+
pyautogui.press('c')
|
897
|
+
await worker_sleep(1)
|
898
|
+
with pyautogui.hold('ctrl'):
|
899
|
+
pyautogui.press('c')
|
901
900
|
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
901
|
+
win32clipboard.OpenClipboard()
|
902
|
+
pop_up_status = win32clipboard.GetClipboardData().strip()
|
903
|
+
win32clipboard.CloseClipboard()
|
904
|
+
console.print(f"Status copiado: {pop_up_status}")
|
906
905
|
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
906
|
+
if "autorizado o uso da nf-e" in pop_up_status.lower():
|
907
|
+
console.print("Sucesso ao transmitir...\n")
|
908
|
+
main_window.close()
|
909
|
+
else:
|
910
|
+
get_error_msg = await get_text_display_window(pop_up_status)
|
911
|
+
console.print(f"Mensagem Rejeição: {get_error_msg}")
|
912
|
+
retorno = f"Erro ao transmitir, mensagem de rejeição {get_error_msg} \nEtapas Executadas:\n{steps}"
|
913
|
+
return RpaRetornoProcessoDTO(
|
914
|
+
sucesso=False,
|
915
|
+
retorno=result,
|
916
|
+
status=RpaHistoricoStatusEnum.Falha,
|
917
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
|
918
|
+
)
|
920
919
|
|
921
920
|
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
921
|
+
#PROCESSO DE IMPRESSÃO
|
922
|
+
console.print("Conectando a janela para seguir com o processo de impressão...\n")
|
923
|
+
app = Application().connect(class_name="TFrmGerenciadorNFe2", timeout=60)
|
924
|
+
main_window = app["TFrmGerenciadorNFe2"]
|
925
|
+
main_window.set_focus()
|
926
|
+
console.print("Obtendo informações do btn para imprimir...\n")
|
927
|
+
tpanel_footer = main_window.child_window(class_name="TPanel", found_index=1)
|
928
|
+
btn_imprimir_danfe = tpanel_footer.child_window(class_name="TBitBtn", found_index=0)
|
929
|
+
btn_imprimir_danfe.click()
|
930
|
+
await worker_sleep(5)
|
932
931
|
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
932
|
+
console.print("Obtendo informações do btn selecionar PDF...\n")
|
933
|
+
app = Application().connect(class_name="TFrmConfigurarTemplateDANF2", timeout=60)
|
934
|
+
main_window = app["TFrmGerenciadorNFe2"]
|
935
|
+
main_window.set_focus()
|
936
|
+
console.print("Selecionando PDF...\n")
|
937
|
+
btn_selecionar_pdf = main_window.child_window(class_name="TRadioButton", found_index=1)
|
938
|
+
btn_selecionar_pdf.click()
|
939
|
+
await worker_sleep(2)
|
941
940
|
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
941
|
+
console.print("BTN Gerar ...\n")
|
942
|
+
btn_gerar = main_window.child_window(class_name="TBitBtn", found_index=1)
|
943
|
+
btn_gerar.click()
|
944
|
+
console.print("BTN Gerar - Clicado com sucesso...\n")
|
945
|
+
await worker_sleep(2)
|
946
|
+
steps += 'ETAPA 03 - PROCESSO DE TRANSMITIR NF-e EXECUTADO COM SUCESSO '
|
948
947
|
|
949
948
|
|
950
|
-
|
951
|
-
|
952
|
-
|
949
|
+
app = Application().connect(title="Salvar par arquivo")
|
950
|
+
main_window = app["Salvar"]
|
951
|
+
console.print("Tela 'Salvar' encontrada!")
|
953
952
|
|
954
|
-
|
955
|
-
|
956
|
-
|
953
|
+
console.print("Interagindo com a tela 'Salvar'...\n")
|
954
|
+
username = getpass.getuser()
|
955
|
+
path_to_txt = f"C:\\Users\\{username}\\Downloads\\DEVOLUÇÃO PRAZO A FATURAR {numero_cupom_fiscal}"
|
957
956
|
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
957
|
+
main_window.type_keys("%n")
|
958
|
+
pyautogui.write(path_to_txt)
|
959
|
+
await worker_sleep(1)
|
960
|
+
main_window.type_keys("%l")
|
961
|
+
console.print("Arquivo salvo com sucesso...\n")
|
962
|
+
await worker_sleep(6)
|
964
963
|
|
965
|
-
|
966
|
-
|
964
|
+
with open(path_to_txt, 'rb') as file:
|
965
|
+
file_bytes = io.BytesIO(file.read())
|
967
966
|
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
967
|
+
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
968
|
+
desArquivo = f"DEVOLUÇÃO PRAZO A FATURAR {numero_cupom_fiscal}.pdf"
|
969
|
+
try:
|
970
|
+
await send_file(historico_id, desArquivo, "pdf", file_bytes, file_extension="pdf")
|
971
|
+
os.remove(path_to_txt)
|
972
|
+
except Exception as e:
|
973
|
+
result = f"Arquivo DEVOLUÇÃO PRAZO A FATURAR gerado com sucesso, porém gerou erro ao realizar o envio para o backoffice {e} - Arquivo ainda salvo na dispositivo utilizado no diretório {path_to_txt}! \nEtapas Executadas:\n{steps}"
|
974
|
+
console.print(result, style="bold red")
|
975
|
+
return RpaRetornoProcessoDTO(
|
976
|
+
sucesso=False,
|
977
|
+
retorno=result,
|
978
|
+
status=RpaHistoricoStatusEnum.Falha,
|
979
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
980
|
+
)
|
982
981
|
|
983
|
-
|
984
|
-
|
985
|
-
|
982
|
+
app = Application().connect(class_name="TFrmConfigurarTemplateDANF2", timeout=60)
|
983
|
+
main_window = app["TFrmGerenciadorNFe2"]
|
984
|
+
main_window.close()
|
986
985
|
|
987
|
-
|
988
|
-
|
989
|
-
|
986
|
+
app = Application().connect(class_name="TFrmGerenciadorNFe2", timeout=60)
|
987
|
+
main_window = app["TFrmGerenciadorNFe2"]
|
988
|
+
main_window.close()
|
990
989
|
|
991
990
|
|
991
|
+
else:
|
992
|
+
retorno = f"{selecionar_itens_gerenciador_nfe} \nEtapas Executadas:\n{steps}"
|
993
|
+
return RpaRetornoProcessoDTO(
|
994
|
+
sucesso=False,
|
995
|
+
retorno=retorno,
|
996
|
+
status=RpaHistoricoStatusEnum.Falha,
|
997
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
998
|
+
)
|
992
999
|
else:
|
993
|
-
retorno = f"
|
1000
|
+
retorno = f"Não foi possivel abrir a tela de Gerenciador de Notas Fiscais \nEtapas Executadas:\n{steps}"
|
994
1001
|
return RpaRetornoProcessoDTO(
|
995
1002
|
sucesso=False,
|
996
1003
|
retorno=retorno,
|
997
1004
|
status=RpaHistoricoStatusEnum.Falha,
|
998
1005
|
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
999
1006
|
)
|
1000
|
-
else:
|
1001
|
-
retorno = f"Não foi possivel abrir a tela de Gerenciador de Notas Fiscais \nEtapas Executadas:\n{steps}"
|
1002
|
-
return RpaRetornoProcessoDTO(
|
1003
|
-
sucesso=False,
|
1004
|
-
retorno=retorno,
|
1005
|
-
status=RpaHistoricoStatusEnum.Falha,
|
1006
|
-
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
1007
|
-
)
|
1008
1007
|
|
1008
|
+
numero_nota_fiscal = "1777083"
|
1009
1009
|
|
1010
1010
|
#STEP 4
|
1011
1011
|
#PRE VENDA
|
@@ -3478,6 +3478,7 @@ async def ocr_by_class(numero_nota: str, windows_class: str, app_class: str)-> R
|
|
3478
3478
|
console.print(f"Imagem preparada com sucesso...\n")
|
3479
3479
|
console.print(f"Realizando OCR...\n")
|
3480
3480
|
captured_text = pytesseract.image_to_string(Image.open(path_to_png))
|
3481
|
+
os.remove(path_to_png)
|
3481
3482
|
console.print(f"Texto Full capturado {captured_text}...\n")
|
3482
3483
|
return RpaRetornoProcessoDTO(
|
3483
3484
|
sucesso=True,
|
@@ -3491,11 +3492,6 @@ async def ocr_by_class(numero_nota: str, windows_class: str, app_class: str)-> R
|
|
3491
3492
|
status=RpaHistoricoStatusEnum.Falha,
|
3492
3493
|
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
3493
3494
|
)
|
3494
|
-
finally:
|
3495
|
-
try:
|
3496
|
-
os.remove(path_to_png)
|
3497
|
-
except:
|
3498
|
-
pass
|
3499
3495
|
|
3500
3496
|
|
3501
3497
|
async def nf_busca_nf_saida(num_nota_fiscal: str) -> RpaRetornoProcessoDTO:
|
@@ -3899,16 +3895,17 @@ async def cadastro_pre_venda_header(nop: str, cod_cliente: str, cod_pagamento: s
|
|
3899
3895
|
await worker_sleep(1)
|
3900
3896
|
|
3901
3897
|
console.print("Inserindo codigo do cliente...\n")
|
3902
|
-
field_cod_cliente = panel_TGroup_Box.child_window(class_name="TDBIEditNumber", found_index=
|
3898
|
+
field_cod_cliente = panel_TGroup_Box.child_window(class_name="TDBIEditNumber", found_index=1)
|
3903
3899
|
field_cod_cliente.click()
|
3904
3900
|
pyautogui.press('del')
|
3905
3901
|
pyautogui.press('backspace')
|
3906
3902
|
field_cod_cliente.set_edit_text(cod_cliente)
|
3907
3903
|
pyautogui.press('tab')
|
3904
|
+
await worker_sleep(3)
|
3908
3905
|
|
3909
3906
|
console.print("Obtendo cidade do cliente")
|
3910
3907
|
field_cidade_cliente = panel_TGroup_Box.child_window(class_name="TDBIEditDescription", found_index=0)
|
3911
|
-
field_cidade_cliente.window_text()
|
3908
|
+
cidade_cliente = field_cidade_cliente.window_text()
|
3912
3909
|
|
3913
3910
|
|
3914
3911
|
console.print("Inserindo NOP...\n")
|
@@ -3921,7 +3918,7 @@ async def cadastro_pre_venda_header(nop: str, cod_cliente: str, cod_pagamento: s
|
|
3921
3918
|
|
3922
3919
|
return RpaRetornoProcessoDTO(
|
3923
3920
|
sucesso=True,
|
3924
|
-
retorno=
|
3921
|
+
retorno=cidade_cliente,
|
3925
3922
|
status=RpaHistoricoStatusEnum.Sucesso,
|
3926
3923
|
)
|
3927
3924
|
except Exception as e:
|
@@ -38,7 +38,7 @@ worker_automate_hub/tasks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
38
38
|
worker_automate_hub/tasks/jobs/coleta_dje_process.py,sha256=UkLWTC5Ub2qBb0yY-8IZ0DLLOVJOfNTq_z9krx_t25Q,29476
|
39
39
|
worker_automate_hub/tasks/jobs/conexao_rdp.py,sha256=S6QC4xhuo0pB5FjaUJZNMm1LIgEjpjifReCTBDqxH-U,11719
|
40
40
|
worker_automate_hub/tasks/jobs/descartes.py,sha256=0bMCJ0xIcK8TLSgjF6taAbGFLMU-sGDVFIhUYSRtrbg,41092
|
41
|
-
worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py,sha256=
|
41
|
+
worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py,sha256=rVmnceZGyEWGPBu0mt0igRcfTT8o76OyXr7Be2lOb4k,87477
|
42
42
|
worker_automate_hub/tasks/jobs/ecac_estadual_go.py,sha256=dKkf22nH5gp3RErq5u0UzRsKyJ81fc6ZZ4vLtUuMwHA,21002
|
43
43
|
worker_automate_hub/tasks/jobs/ecac_estadual_main.py,sha256=8WmKe4-MRtzHobXz2S4YBDNN8alfawkC-BBlRY-mn1g,1726
|
44
44
|
worker_automate_hub/tasks/jobs/ecac_estadual_mt.py,sha256=C26zmpGQGUq6sP9lU9nanM3Fje-rkyx5tjwmRy4lyL8,25300
|
@@ -74,10 +74,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
|
|
74
74
|
worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
|
75
75
|
worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
|
76
76
|
worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
|
77
|
-
worker_automate_hub/utils/util.py,sha256=
|
77
|
+
worker_automate_hub/utils/util.py,sha256=HMUXpF3bf0v2ntbols6d8xr-okDcRsnV54WAwLAPpJ0,162317
|
78
78
|
worker_automate_hub/utils/utils_nfe_entrada.py,sha256=iYpOs7fb7C3bY61QHySr00xlDNzrrCP0zaexOpBPuaQ,31930
|
79
79
|
worker_automate_hub/worker.py,sha256=CT-poyP1ZYvubArYsnnNd9oJ53SPaDwgr6p6keS3nI4,6248
|
80
|
-
worker_automate_hub-0.5.
|
81
|
-
worker_automate_hub-0.5.
|
82
|
-
worker_automate_hub-0.5.
|
83
|
-
worker_automate_hub-0.5.
|
80
|
+
worker_automate_hub-0.5.90.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
81
|
+
worker_automate_hub-0.5.90.dist-info/METADATA,sha256=OTiRmJX5quu2-Uol6I_V8F8jfefpXTedhg-rL-_1ulE,2894
|
82
|
+
worker_automate_hub-0.5.90.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
83
|
+
worker_automate_hub-0.5.90.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.5.89.dist-info → worker_automate_hub-0.5.90.dist-info}/entry_points.txt
RENAMED
File without changes
|