worker-automate-hub 0.5.87__py3-none-any.whl → 0.5.88__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- worker_automate_hub/api/datalake_service.py +70 -0
- {worker_automate_hub-0.5.87.dist-info → worker_automate_hub-0.5.88.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.5.87.dist-info → worker_automate_hub-0.5.88.dist-info}/RECORD +5 -4
- {worker_automate_hub-0.5.87.dist-info → worker_automate_hub-0.5.88.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.5.87.dist-info → worker_automate_hub-0.5.88.dist-info}/entry_points.txt +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)
|
@@ -2,6 +2,7 @@ worker_automate_hub/__init__.py,sha256=LV28uQvBfpPIqudGIMJmVB8E941MjXHcu8DMoX5n8
|
|
2
2
|
worker_automate_hub/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
worker_automate_hub/api/ahead_service.py,sha256=QbNrZf9q7fS0s-S5fZVytqC7dINi9u2f6aB6SDrGVVA,2231
|
4
4
|
worker_automate_hub/api/client.py,sha256=uYmKPEdt2zUS7tKYJpk4NqXAGS413rpR4m33Eq3_5IU,19840
|
5
|
+
worker_automate_hub/api/datalake_service.py,sha256=UZTxbJFZSQ0Po2N5lWg4gRZBr0Zr0BGR5f6uGjmWCOQ,2387
|
5
6
|
worker_automate_hub/api/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
7
|
worker_automate_hub/api/helpers/api_helpers.py,sha256=SkheO2fXexeh-a4shr8Qzsz_kZhuSG0DJ7kbODctRbM,3696
|
7
8
|
worker_automate_hub/api/rdp_service.py,sha256=L7orr60FkJr6zjETtA4me8tRYCW9m1g-i5pq6AILUFo,1647
|
@@ -76,7 +77,7 @@ worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbV
|
|
76
77
|
worker_automate_hub/utils/util.py,sha256=ZMbWjvZ6vbDgkosFAt2xUJGoAJOIZhxNfJyYplvyN3Q,162310
|
77
78
|
worker_automate_hub/utils/utils_nfe_entrada.py,sha256=iYpOs7fb7C3bY61QHySr00xlDNzrrCP0zaexOpBPuaQ,31930
|
78
79
|
worker_automate_hub/worker.py,sha256=CT-poyP1ZYvubArYsnnNd9oJ53SPaDwgr6p6keS3nI4,6248
|
79
|
-
worker_automate_hub-0.5.
|
80
|
-
worker_automate_hub-0.5.
|
81
|
-
worker_automate_hub-0.5.
|
82
|
-
worker_automate_hub-0.5.
|
80
|
+
worker_automate_hub-0.5.88.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
81
|
+
worker_automate_hub-0.5.88.dist-info/METADATA,sha256=8gTgzQet0ffK8xespG6aZSX2MNQvsBfe_eFRvlhph4Y,2894
|
82
|
+
worker_automate_hub-0.5.88.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
83
|
+
worker_automate_hub-0.5.88.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.5.87.dist-info → worker_automate_hub-0.5.88.dist-info}/entry_points.txt
RENAMED
File without changes
|