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.
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/PKG-INFO +1 -1
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/pyproject.toml +1 -1
- worker_automate_hub-0.5.88/worker_automate_hub/api/datalake_service.py +70 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +39 -1
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/README.md +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/ahead_service.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/client.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/helpers/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rdp_service.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rpa_fila_service.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rpa_historico_service.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/webhook_service.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/cli.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config/settings.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/core/so_manipulation.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/deprecation.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/rate_limit.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/repeat.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/retry.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/singleton.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/timeit.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/playground.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/task_definitions.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/task_executor.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/__init__.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/env.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/logger.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/toast.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/updater.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/util.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
- {worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/worker.py +0 -0
@@ -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"))
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/ahead_service.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/rdp_service.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/api/webhook_service.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/config/settings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/repeat.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/retry.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/decorators/timeit.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/__init__.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_fila.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dao/rpa_robo.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/models/dto/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/jobs/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/tasks/task_executor.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/logger.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/toast.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.86 → worker_automate_hub-0.5.88}/worker_automate_hub/utils/updater.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|