worker-automate-hub 0.5.87__py3-none-any.whl → 0.5.88__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|