worker-automate-hub 0.5.86__tar.gz → 0.5.88__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/pyproject.toml +1 -1
  3. worker_automate_hub-0.5.88/worker_automate_hub/api/datalake_service.py +70 -0
  4. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +39 -1
  5. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/README.md +0 -0
  6. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/__init__.py +0 -0
  7. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/__init__.py +0 -0
  8. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/ahead_service.py +0 -0
  9. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/client.py +0 -0
  10. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/helpers/__init__.py +0 -0
  11. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  12. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rdp_service.py +0 -0
  13. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rpa_fila_service.py +0 -0
  14. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  15. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/webhook_service.py +0 -0
  16. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/cli.py +0 -0
  17. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config/__init__.py +0 -0
  18. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config/settings.py +0 -0
  19. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config.py +0 -0
  20. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/core/so_manipulation.py +0 -0
  21. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/__init__.py +0 -0
  22. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/deprecation.py +0 -0
  23. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/rate_limit.py +0 -0
  24. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/repeat.py +0 -0
  25. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/retry.py +0 -0
  26. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/singleton.py +0 -0
  27. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/timeit.py +0 -0
  28. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/__init__.py +0 -0
  29. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/__init__.py +0 -0
  30. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  31. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
  32. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  33. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  34. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
  35. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/__init__.py +0 -0
  36. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  37. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  38. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
  39. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  40. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/__init__.py +0 -0
  41. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  42. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  43. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  44. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
  45. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +0 -0
  46. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  47. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  48. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  49. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  50. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  51. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  52. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
  53. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  54. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  55. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  56. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  57. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  58. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  59. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
  60. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  61. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  62. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  63. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  64. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
  65. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  66. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  67. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  68. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
  69. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  70. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
  71. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
  72. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/task_definitions.py +0 -0
  73. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/task_executor.py +0 -0
  74. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/__init__.py +0 -0
  75. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/env.py +0 -0
  76. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  77. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/logger.py +0 -0
  78. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/toast.py +0 -0
  79. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/updater.py +0 -0
  80. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/util.py +0 -0
  81. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  82. {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/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.86
3
+ Version: 0.5.88
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.86"
3
+ version = "0.5.88"
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"
@@ -0,0 +1,70 @@
1
+ from mimetypes import guess_type
2
+
3
+ import aiohttp
4
+ from rich.console import Console
5
+
6
+ from worker_automate_hub.config.settings import load_env_config
7
+ from worker_automate_hub.utils.logger import logger
8
+
9
+ console = Console()
10
+
11
+
12
+ async def send_file_to_datalake(
13
+ file: bytes, filename: str, file_extension: str = None
14
+ ) -> None:
15
+ """
16
+ Envia um arquivo para a datalake.
17
+
18
+ Args:
19
+ file (bytes): O conteúdo binário do arquivo.
20
+ filename (str): O nome do arquivo.
21
+ file_extension (str, optional): A extensão do arquivo. Caso não seja
22
+ passada, tenta determinar com base no nome do arquivo.
23
+
24
+ Raises:
25
+ aiohttp.ClientResponseError: Caso a API retorne um status de erro.
26
+ Exception: Caso ocorra um erro genérico durante o processo.
27
+
28
+ Returns:
29
+ None
30
+ """
31
+ try:
32
+ env_config, _ = load_env_config()
33
+
34
+ if not file_extension:
35
+ file_extension = filename.split(".")[-1]
36
+
37
+ mime_type, _ = guess_type(filename)
38
+ if not mime_type:
39
+ mime_type = "application/octet-stream"
40
+
41
+ body = aiohttp.FormData()
42
+ body.add_field("file", file, filename=filename, content_type=mime_type)
43
+
44
+ headers_basic = {"Authorization": f"Basic {env_config['API_AUTHORIZATION']}"}
45
+
46
+ async with aiohttp.ClientSession(
47
+ connector=aiohttp.TCPConnector(ssl=False)
48
+ ) as session:
49
+ async with session.post(
50
+ f"{env_config['API_BASE_URL']}/arquivo/send-file-to-datalake",
51
+ data=body,
52
+ headers=headers_basic,
53
+ ) as response:
54
+ response.raise_for_status()
55
+
56
+ response_text = await response.text()
57
+
58
+ log_msg = f"\nSucesso ao enviar arquivo: {filename}\nResposta da API: {response_text}"
59
+ console.print(log_msg, style="bold green")
60
+ logger.info(log_msg)
61
+
62
+ except aiohttp.ClientResponseError as e:
63
+ err_msg = f"Erro na resposta da API: {e.status} - {e.message}\nDetalhes: {await e.response.text()}"
64
+ console.print(f"\n{err_msg}\n", style="bold red")
65
+ logger.error(err_msg)
66
+
67
+ except Exception as e:
68
+ err_msg = f"Erro ao enviar arquivo: {str(e)}"
69
+ console.print(f"\n{err_msg}\n", style="bold red")
70
+ logger.error(err_msg)
@@ -324,6 +324,44 @@ async def entrada_de_notas_505(task: RpaProcessoEntradaDTO) -> RpaRetornoProcess
324
324
  tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
325
325
  )
326
326
 
327
+ await worker_sleep(2)
328
+ console.print("Navegando pela Janela de Nota Fiscal de Entrada...\n")
329
+ app = Application().connect(class_name="TFrmNotaFiscalEntrada")
330
+ main_window = app["TFrmNotaFiscalEntrada"]
331
+
332
+ main_window.set_focus()
333
+ console.print("Acessando a aba de Pagamentos... \n")
334
+ panel_TPage = main_window.child_window(class_name="TPage", title="Formulario")
335
+ panel_TTabSheet = panel_TPage.child_window(class_name="TcxCustomInnerTreeView")
336
+ panel_TTabSheet.wait("visible")
337
+ panel_TTabSheet.click()
338
+ send_keys("{DOWN " + ("7") + "}")
339
+
340
+ panel_TPage = main_window.child_window(class_name="TPage", title="Formulario")
341
+ panel_TTabSheet = panel_TPage.child_window(class_name="TPageControl")
342
+
343
+ panel_TabPagamento = panel_TTabSheet.child_window(class_name="TTabSheet")
344
+
345
+ panel_TabParcelamento = panel_TTabSheet.child_window(title="Parcelamento")
346
+
347
+ tipo_cobranca = panel_TabParcelamento.child_window(
348
+ class_name="TDBIComboBox", found_index=0
349
+ )
350
+
351
+ console.print("Verificando o tipo de cobrança selecionado... \n")
352
+ tipo_selecionado = tipo_cobranca.window_text()
353
+ if "boleto" in tipo_selecionado.lower() or 'carteira' in tipo_selecionado.lower():
354
+ console.print(f"Tipo de cobrança corretamente selecionado {tipo_selecionado}... \n")
355
+ else:
356
+ console.print(f"Tipo de cobrança não foi selecionado corretamente, interagindo com o campo para selecionar o campo corretamente... \n")
357
+ tipo_cobranca.click()
358
+ try:
359
+ set_combobox("||List", "BANCO DO BRASIL BOLETO")
360
+ except:
361
+ set_combobox("||List", "CARTEIRA")
362
+
363
+ await worker_sleep(2)
364
+
327
365
  # Inclui registro
328
366
  console.print(f"Incluindo registro...\n")
329
367
  await worker_sleep(6)
@@ -391,4 +429,4 @@ async def entrada_de_notas_505(task: RpaProcessoEntradaDTO) -> RpaRetornoProcess
391
429
 
392
430
  finally:
393
431
  # Deleta o xml
394
- await delete_xml(nota.get("nfe"))
432
+ await delete_xml(nota.get("nfe"))