worker-automate-hub 0.5.35__tar.gz → 0.5.36__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/pyproject.toml +1 -1
  3. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/util.py +82 -68
  4. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/README.md +0 -0
  5. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/__init__.py +0 -0
  6. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/__init__.py +0 -0
  7. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/ahead_service.py +0 -0
  8. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/client.py +0 -0
  9. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/helpers/__init__.py +0 -0
  10. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  11. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rdp_service.py +0 -0
  12. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rpa_fila_service.py +0 -0
  13. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  14. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/webhook_service.py +0 -0
  15. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/cli.py +0 -0
  16. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config/__init__.py +0 -0
  17. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config/settings.py +0 -0
  18. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config.py +0 -0
  19. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/core/so_manipulation.py +0 -0
  20. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/__init__.py +0 -0
  21. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/deprecation.py +0 -0
  22. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/rate_limit.py +0 -0
  23. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/repeat.py +0 -0
  24. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/retry.py +0 -0
  25. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/singleton.py +0 -0
  26. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/timeit.py +0 -0
  27. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/__init__.py +0 -0
  28. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/__init__.py +0 -0
  29. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  30. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
  31. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  32. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  33. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
  34. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/__init__.py +0 -0
  35. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  36. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  37. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
  38. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  39. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/__init__.py +0 -0
  40. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  41. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  42. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  43. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
  44. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  45. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  46. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  47. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  48. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  49. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  50. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
  51. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  52. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  53. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  54. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  55. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  56. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  57. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
  58. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  59. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
  60. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  61. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  62. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  63. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
  64. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  65. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  66. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  67. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
  68. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  69. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
  70. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
  71. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/task_definitions.py +0 -0
  72. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/task_executor.py +0 -0
  73. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/__init__.py +0 -0
  74. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/env.py +0 -0
  75. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  76. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/logger.py +0 -0
  77. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/toast.py +0 -0
  78. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/updater.py +0 -0
  79. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  80. {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: worker-automate-hub
3
- Version: 0.5.35
3
+ Version: 0.5.36
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "worker-automate-hub"
3
- version = "0.5.35"
3
+ version = "0.5.36"
4
4
  description = "Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta."
5
5
  authors = ["Joel Paim"]
6
6
  readme = "README.md"
@@ -1126,86 +1126,93 @@ async def get_xml(xml_file: str) -> None:
1126
1126
  - None
1127
1127
  """
1128
1128
 
1129
- console.print("Verificando a existencia da tela de importação do XML... \n")
1130
- app = Application().connect(title="Selecione a forma de obter o XML da NF-e")
1131
- main_window = app["Selecione a forma de obter o XML da NF-e"]
1129
+ try:
1130
+ console.print("Verificando a existencia da tela de importação do XML... \n")
1131
+ app = Application().connect(title="Selecione a forma de obter o XML da NF-e")
1132
+ main_window = app["Selecione a forma de obter o XML da NF-e"]
1132
1133
 
1133
- # Verificando se a janela principal existe
1134
- if main_window.exists():
1135
- console.print("Janela principal encontrada com sucesso... \n")
1136
- else:
1137
- raise Exception("Janela principal de importação do XML não foi encontrada.")
1134
+ # Verificando se a janela principal existe
1135
+ if main_window.exists():
1136
+ console.print("Janela principal encontrada com sucesso... \n")
1137
+ else:
1138
+ raise Exception("Janela principal de importação do XML não foi encontrada.")
1138
1139
 
1139
- console.print("Selecionando Arquivo XML para seguir com a importação... \n")
1140
- arquivo_xml_button = main_window.child_window(title="Arquivo XML")
1141
- if arquivo_xml_button.exists() and arquivo_xml_button.is_enabled():
1142
- arquivo_xml_button.click()
1143
- console.print("Arquivo XML selecionado com sucesso... \n")
1144
- else:
1145
- raise Exception("Botão Arquivo XML não foi encontrado.")
1140
+ console.print("Selecionando Arquivo XML para seguir com a importação... \n")
1141
+ arquivo_xml_button = main_window.child_window(title="Arquivo XML")
1142
+ if arquivo_xml_button.exists() and arquivo_xml_button.is_enabled():
1143
+ arquivo_xml_button.click()
1144
+ console.print("Arquivo XML selecionado com sucesso... \n")
1145
+ else:
1146
+ raise Exception("Botão Arquivo XML não foi encontrado.")
1146
1147
 
1147
- await worker_sleep(3)
1148
+ await worker_sleep(3)
1148
1149
 
1149
- console.print("Verificando se o botão OK existe ... \n")
1150
- ok_button = main_window.child_window(title="OK", class_name="TBitBtn")
1151
- if ok_button.exists() and ok_button.is_enabled():
1152
- max_attempts = 3
1153
- i = 0
1154
- while i < max_attempts:
1155
- console.print("Clicando em OK... \n")
1156
- try:
1157
- ok_button.click()
1158
- console.print("Botão OK clicado com sucesso... \n")
1159
- except:
1160
- console.print("Não foi possivel clicar no Botão OK... \n")
1150
+ console.print("Verificando se o botão OK existe ... \n")
1151
+ ok_button = main_window.child_window(title="OK", class_name="TBitBtn")
1152
+ if ok_button.exists() and ok_button.is_enabled():
1153
+ max_attempts = 3
1154
+ i = 0
1155
+ while i < max_attempts:
1156
+ console.print("Clicando em OK... \n")
1157
+ try:
1158
+ ok_button.click()
1159
+ console.print("Botão OK clicado com sucesso... \n")
1160
+ except:
1161
+ console.print("Não foi possivel clicar no Botão OK... \n")
1161
1162
 
1162
- await worker_sleep(3)
1163
+ await worker_sleep(3)
1163
1164
 
1164
- console.print("Verificando a existência da tela para importar o XML...\n")
1165
- try:
1166
- app = Application().connect(title="Abrir")
1167
- main_window = app["Abrir"]
1168
- console.print("A tela de importação foi encontrada!")
1169
- break
1170
- except Exception as e:
1171
- console.print(
1172
- f"Tela de importação não encontrada. Tentativa {i + 1}/{max_attempts}."
1173
- )
1165
+ console.print("Verificando a existência da tela para importar o XML...\n")
1166
+ try:
1167
+ app = Application().connect(title="Abrir")
1168
+ main_window = app["Abrir"]
1169
+ console.print("A tela de importação foi encontrada!")
1170
+ break
1171
+ except Exception as e:
1172
+ console.print(
1173
+ f"Tela de importação não encontrada. Tentativa {i + 1}/{max_attempts}."
1174
+ )
1174
1175
 
1175
- i += 1
1176
+ i += 1
1176
1177
 
1177
- if i == max_attempts:
1178
- raise Exception(
1179
- "Número máximo de tentativas atingido. A tela para importar o XML não foi encontrada."
1180
- )
1178
+ if i == max_attempts:
1179
+ raise Exception(
1180
+ "Número máximo de tentativas atingido. A tela para importar o XML não foi encontrada."
1181
+ )
1181
1182
 
1182
- else:
1183
- raise Exception("Botão OK não foi encontrado.")
1183
+ else:
1184
+ raise Exception("Botão OK não foi encontrado.")
1184
1185
 
1185
- await worker_sleep(10)
1186
+ await worker_sleep(10)
1186
1187
 
1187
- console.print("Conectando na tela de importação do XML...\n")
1188
- app = Application().connect(title="Abrir")
1189
- main_window = app["Abrir"]
1188
+ console.print("Conectando na tela de importação do XML...\n")
1189
+ app = Application().connect(title="Abrir")
1190
+ main_window = app["Abrir"]
1190
1191
 
1191
- # Verificando se a janela principal existe
1192
- if main_window.exists():
1193
- console.print("Janela para importar o xml encontrada com sucesso... \n")
1194
- else:
1195
- raise Exception("Janela para importar o xml não foi encontrada.")
1196
-
1197
- console.print("Carregando informações do XML a ser importado...\n")
1198
- username = getpass.getuser()
1199
- xml_name = f"{xml_file}.xml"
1200
- path_to_xml = f"C:\\Users\\{username}\\Downloads\\{xml_name}"
1201
- console.print("Inserindo caminho do XML...\n")
1202
- main_window.type_keys("%n")
1203
- await worker_sleep(2)
1204
- pyautogui.write(path_to_xml)
1205
- await worker_sleep(2)
1206
- main_window.type_keys("%a")
1207
- await worker_sleep(2)
1192
+ # Verificando se a janela principal existe
1193
+ if main_window.exists():
1194
+ console.print("Janela para importar o xml encontrada com sucesso... \n")
1195
+ else:
1196
+ raise Exception("Janela para importar o xml não foi encontrada.")
1208
1197
 
1198
+ console.print("Carregando informações do XML a ser importado...\n")
1199
+ username = getpass.getuser()
1200
+ xml_name = f"{xml_file}.xml"
1201
+ path_to_xml = f"C:\\Users\\{username}\\Downloads\\{xml_name}"
1202
+ console.print("Inserindo caminho do XML...\n")
1203
+ main_window.type_keys("%n")
1204
+ await worker_sleep(2)
1205
+ pyautogui.write(path_to_xml)
1206
+ await worker_sleep(2)
1207
+ main_window.type_keys("%a")
1208
+ await worker_sleep(2)
1209
+ except Exception as error:
1210
+ return RpaRetornoProcessoDTO(
1211
+ sucesso=False,
1212
+ retorno=f"Erro ao obter XML: {error}",
1213
+ status=RpaHistoricoStatusEnum.Falha,
1214
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
1215
+ )
1209
1216
 
1210
1217
  async def delete_xml(nfe_key: str) -> None:
1211
1218
  """
@@ -2404,6 +2411,13 @@ async def error_after_xml_imported() -> RpaRetornoProcessoDTO:
2404
2411
 
2405
2412
  status=RpaHistoricoStatusEnum.Falha, tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
2406
2413
  )
2414
+ elif "ja lancada" in control_text:
2415
+ return RpaRetornoProcessoDTO(
2416
+ sucesso=False,
2417
+ retorno=f"Pop-up nota incluida encontrada, porém nota encontrada como 'já lançada' trazendo as seguintes informações: {control_text}",
2418
+ status=RpaHistoricoStatusEnum.Falha,
2419
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
2420
+ )
2407
2421
  else:
2408
2422
  return RpaRetornoProcessoDTO(
2409
2423
  sucesso=False,
@@ -2424,7 +2438,7 @@ async def error_after_xml_imported() -> RpaRetornoProcessoDTO:
2424
2438
  retorno=f"Nota descartada: {control_text}... \n",
2425
2439
  status=RpaHistoricoStatusEnum.Descartado,
2426
2440
  )
2427
-
2441
+
2428
2442
 
2429
2443
  async def error_before_persist_record() -> RpaRetornoProcessoDTO:
2430
2444
  try: