worker-automate-hub 0.4.447__py3-none-any.whl → 0.4.449__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/client.py +9 -9
- worker_automate_hub/api/rpa_fila_service.py +2 -2
- worker_automate_hub/api/rpa_historico_service.py +2 -2
- worker_automate_hub/tasks/jobs/conexao_rdp.py +89 -76
- worker_automate_hub/utils/util.py +1 -1
- {worker_automate_hub-0.4.447.dist-info → worker_automate_hub-0.4.449.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.4.447.dist-info → worker_automate_hub-0.4.449.dist-info}/RECORD +9 -9
- {worker_automate_hub-0.4.447.dist-info → worker_automate_hub-0.4.449.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.4.447.dist-info → worker_automate_hub-0.4.449.dist-info}/entry_points.txt +0 -0
@@ -24,7 +24,7 @@ async def get_new_task(stop_event: threading.Event) -> RpaProcessoEntradaDTO:
|
|
24
24
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
25
25
|
data = await get_new_task_info()
|
26
26
|
|
27
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
27
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
28
28
|
async with session.post(
|
29
29
|
f"{env_config["API_BASE_URL"]}/robo/new-job",
|
30
30
|
data=data,
|
@@ -53,7 +53,7 @@ async def notify_is_alive(stop_event: threading.Event):
|
|
53
53
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
54
54
|
data = await get_system_info()
|
55
55
|
|
56
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
56
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
57
57
|
async with session.put(
|
58
58
|
f"{env_config["API_BASE_URL"]}/robo/last-alive",
|
59
59
|
data=data,
|
@@ -89,7 +89,7 @@ async def get_historico_by_processo_identificador(identificador, process_name):
|
|
89
89
|
}
|
90
90
|
|
91
91
|
try:
|
92
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
92
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
93
93
|
async with session.post(
|
94
94
|
f"{env_config['API_BASE_URL']}/historico/by-identificador",
|
95
95
|
headers=headers_basic,
|
@@ -131,7 +131,7 @@ async def get_processo(uuidProcesso: str) -> RpaProcesso:
|
|
131
131
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
132
132
|
|
133
133
|
|
134
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
134
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
135
135
|
async with session.get(
|
136
136
|
f"{env_config["API_BASE_URL"]}/processo/{uuidProcesso}",
|
137
137
|
headers=headers_basic,
|
@@ -164,7 +164,7 @@ async def get_workers():
|
|
164
164
|
|
165
165
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
166
166
|
|
167
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
167
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
168
168
|
async with session.get(
|
169
169
|
f"{env_config["API_BASE_URL"]}/robo/workers",
|
170
170
|
headers=headers_basic,
|
@@ -207,7 +207,7 @@ async def get_config_by_name(name: str) -> RpaConfiguracao:
|
|
207
207
|
try:
|
208
208
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
209
209
|
|
210
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
210
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
211
211
|
async with session.get(
|
212
212
|
f"{env_config["API_BASE_URL"]}/configuracao/api/{name}",
|
213
213
|
headers=headers_basic,
|
@@ -297,7 +297,7 @@ async def send_gchat_message(message: str) -> None:
|
|
297
297
|
try:
|
298
298
|
headers_basic = {"Authorization": f"Basic {env_config['API_AUTHORIZATION']}"}
|
299
299
|
|
300
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
300
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
301
301
|
async with session.post(
|
302
302
|
f"{env_config['API_BASE_URL']}/google-chat",
|
303
303
|
data={"message": message},
|
@@ -376,7 +376,7 @@ async def get_index_modelo_emsys(filial: str, descricao_documento: str):
|
|
376
376
|
|
377
377
|
try:
|
378
378
|
async with aiohttp.ClientSession(
|
379
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
379
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
380
380
|
) as session:
|
381
381
|
async with session.post(f"{env_config['API_BASE_URL']}/emsys/buscar-index-documento-fiscal", data=body,
|
382
382
|
headers=headers_basic) as response:
|
@@ -420,7 +420,7 @@ async def get_status_nf_emsys(chave: int):
|
|
420
420
|
|
421
421
|
try:
|
422
422
|
async with aiohttp.ClientSession(
|
423
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
423
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
424
424
|
) as session:
|
425
425
|
async with session.get(url, headers=headers_basic) as response:
|
426
426
|
if response.status != 200:
|
@@ -14,7 +14,7 @@ async def burn_queue(id_fila: str):
|
|
14
14
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
15
15
|
|
16
16
|
|
17
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
17
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
18
18
|
async with session.delete(
|
19
19
|
f"{env_config["API_BASE_URL"]}/fila/burn-queue/{id_fila}",
|
20
20
|
headers=headers_basic,
|
@@ -41,7 +41,7 @@ async def unlock_queue(id: str):
|
|
41
41
|
headers_basic = {"Authorization": f"Basic {env_config["API_AUTHORIZATION"]}"}
|
42
42
|
|
43
43
|
|
44
|
-
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=
|
44
|
+
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=True)) as session:
|
45
45
|
async with session.get(
|
46
46
|
f"{env_config["API_BASE_URL"]}/fila/unlock-queue/{id}",
|
47
47
|
headers=headers_basic,
|
@@ -36,7 +36,7 @@ async def store(data: RpaHistoricoRequestDTO) -> dict:
|
|
36
36
|
}
|
37
37
|
try:
|
38
38
|
async with aiohttp.ClientSession(
|
39
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
39
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
40
40
|
) as session:
|
41
41
|
payload = data.model_dump_json()
|
42
42
|
|
@@ -86,7 +86,7 @@ async def update(data: RpaHistoricoRequestDTO) -> dict:
|
|
86
86
|
raise TypeError("Parâmetro data deve ser do tipo RpaHistoricoRequestDTO")
|
87
87
|
try:
|
88
88
|
async with aiohttp.ClientSession(
|
89
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
89
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
90
90
|
) as session:
|
91
91
|
if not data.uuidHistorico:
|
92
92
|
raise ValueError("Parâmetro uuidHistorico deve ser informado")
|
@@ -3,6 +3,7 @@ import platform
|
|
3
3
|
import subprocess
|
4
4
|
import socket
|
5
5
|
import pyautogui
|
6
|
+
import os
|
6
7
|
import pygetwindow as gw
|
7
8
|
from rich.console import Console
|
8
9
|
import pygetwindow as gw
|
@@ -55,16 +56,10 @@ class RDPConnection:
|
|
55
56
|
return ping_alcancado and porta_aberta
|
56
57
|
|
57
58
|
async def clicar_no_titulo(self):
|
58
|
-
"""
|
59
|
-
Função para clicar no título das janelas de Conexão de Área de Trabalho Remota
|
60
|
-
com o botão direito do mouse e executar comandos.
|
61
|
-
"""
|
62
59
|
janelas_rdp = [
|
63
60
|
win
|
64
61
|
for win in gw.getAllTitles()
|
65
|
-
if
|
66
|
-
or "Remote Desktop Connection" in win
|
67
|
-
or "Conexão de Área de Trabalho Remota" in win
|
62
|
+
if self.ip in win
|
68
63
|
]
|
69
64
|
|
70
65
|
for titulo in janelas_rdp:
|
@@ -74,88 +69,98 @@ class RDPConnection:
|
|
74
69
|
continue
|
75
70
|
|
76
71
|
console.print(f"Processando janela: {titulo}")
|
77
|
-
|
78
|
-
# Obtém as coordenadas da janela
|
79
72
|
x, y = janela.left, janela.top
|
80
73
|
|
81
74
|
try:
|
82
|
-
|
83
|
-
pyautogui.
|
84
|
-
|
85
|
-
|
86
|
-
await worker_sleep(
|
87
|
-
pyautogui.press("down", presses=7, interval=0.1)
|
88
|
-
await worker_sleep(5)
|
75
|
+
pyautogui.moveTo(x + 2, y + 2)
|
76
|
+
pyautogui.hotkey("alt", "space")
|
77
|
+
await worker_sleep(2)
|
78
|
+
pyautogui.press("down", presses=6, interval=0.1)
|
79
|
+
await worker_sleep(2)
|
89
80
|
pyautogui.hotkey("enter")
|
90
|
-
await worker_sleep(
|
81
|
+
await worker_sleep(2)
|
91
82
|
pyautogui.hotkey("enter")
|
92
83
|
break
|
93
84
|
|
94
85
|
except Exception as e:
|
95
86
|
console.print(f"Erro ao interagir com a janela {titulo}: {e}")
|
96
|
-
|
87
|
+
|
88
|
+
async def open_rdp(self):
|
89
|
+
base_path = os.path.join("worker_automate_hub", "tasks", "jobs")
|
90
|
+
rdp_file_path = os.path.join(base_path, "connection.rdp")
|
91
|
+
os.makedirs(base_path, exist_ok=True)
|
92
|
+
|
93
|
+
rdp_content = f"""screen mode id:i:1
|
94
|
+
desktopwidth:i:1920
|
95
|
+
desktopheight:i:1080
|
96
|
+
use multimon:i:0
|
97
|
+
session bpp:i:32
|
98
|
+
compression:i:1
|
99
|
+
keyboardhook:i:2
|
100
|
+
displayconnectionbar:i:1
|
101
|
+
disable wallpaper:i:0
|
102
|
+
allow font smoothing:i:1
|
103
|
+
allow desktop composition:i:1
|
104
|
+
disable full window drag:i:0
|
105
|
+
disable menu anims:i:0
|
106
|
+
disable themes:i:0
|
107
|
+
disable cursor setting:i:0
|
108
|
+
bitmapcachepersistenable:i:1
|
109
|
+
full address:s:{self.ip}
|
110
|
+
username:s:{self.user}
|
111
|
+
winposstr:s:0,1,{(1920 // 4)},{(1080 // 4)},{(1920 // 4) + (1920 // 2)},{(1080 // 4) + (1080 // 2)}
|
112
|
+
"""
|
113
|
+
|
114
|
+
try:
|
115
|
+
with open(rdp_file_path, "w") as file:
|
116
|
+
file.write(rdp_content)
|
117
|
+
print(f"Arquivo RDP criado: {rdp_file_path}")
|
118
|
+
except Exception as error:
|
119
|
+
print(f"Erro ao montar o arquivo RDP: {error}")
|
120
|
+
return
|
121
|
+
|
122
|
+
try:
|
123
|
+
subprocess.Popen(["mstsc", rdp_file_path], close_fds=True, start_new_session=True)
|
124
|
+
console.print("Conexão RDP iniciada.")
|
125
|
+
except Exception as error:
|
126
|
+
console.print(f"Erro ao abrir a conexão RDP: {error}")
|
127
|
+
|
97
128
|
async def conectar(self):
|
98
129
|
console.print(f"Iniciando cliente RDP para {self.ip}")
|
99
130
|
try:
|
100
|
-
pyautogui.hotkey("win", "d")
|
101
|
-
await worker_sleep(5) # Tempo para garantir que todas as janelas sejam minimizadas
|
102
|
-
console.print("Todas as janelas minimizadas com sucesso.")
|
103
|
-
|
104
|
-
subprocess.Popen(["mstsc", f"/v:{self.ip}"], close_fds=True, start_new_session=True)
|
105
|
-
await worker_sleep(10) # Tempo aumentado para garantir abertura
|
106
|
-
|
107
|
-
console.print("Procurando janela 'Ligação ao ambiente de trabalho remoto'")
|
108
|
-
try:
|
109
|
-
windows = gw.getWindowsWithTitle("Ligação ao ambiente de trabalho remoto")
|
110
|
-
except:
|
111
|
-
windows = gw.getWindowsWithTitle("Conexão de Área de Trabalho Remota")
|
112
|
-
|
113
|
-
if not windows:
|
114
|
-
logger.warning("Tentando encontrar janela com título em inglês 'Remote Desktop Connection'")
|
115
|
-
windows = gw.getWindowsWithTitle("Remote Desktop Connection")
|
116
|
-
|
117
|
-
if not windows:
|
118
|
-
logger.error("Janela de RDP não encontrada.")
|
119
|
-
return False
|
120
|
-
|
121
|
-
rdp_window = windows[0]
|
122
|
-
console.print(f"Janela '{rdp_window.title}' encontrada. Focando na janela.")
|
123
|
-
|
124
|
-
# Restaurar janela se estiver minimizada
|
125
|
-
if rdp_window.isMinimized:
|
126
|
-
rdp_window.restore()
|
127
|
-
await worker_sleep(5)
|
128
|
-
|
129
|
-
# Redimensionar para 50% da tela
|
130
|
-
screen_width, screen_height = pyautogui.size()
|
131
|
-
new_width = screen_width // 2
|
132
|
-
new_height = screen_height // 2
|
133
|
-
rdp_window.resizeTo(new_width, new_height)
|
134
|
-
rdp_window.moveTo(screen_width // 4, screen_height // 4)
|
135
|
-
console.print(f"Janela redimensionada para {new_width}x{new_height}.")
|
136
|
-
|
137
|
-
rdp_window.activate()
|
138
|
-
await worker_sleep(5) # Tempo extra para garantir que a janela está ativa
|
139
|
-
|
140
|
-
# Clique para garantir o foco
|
141
|
-
pyautogui.click(rdp_window.left + 50, rdp_window.top + 50)
|
142
131
|
await worker_sleep(3)
|
132
|
+
await self.open_rdp()
|
133
|
+
await worker_sleep(5)
|
143
134
|
|
144
|
-
|
145
|
-
|
135
|
+
console.print("Procurando janela RDP")
|
146
136
|
try:
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
137
|
+
possible_titles = ["Conexão de Área de Trabalho Remota", "Ligação ao ambiente de trabalho remoto"]
|
138
|
+
app = None
|
139
|
+
app_window = None
|
140
|
+
|
141
|
+
for title in possible_titles:
|
142
|
+
try:
|
143
|
+
app = Application(backend="uia").connect(title=title)
|
144
|
+
app_window = app.window(title=title)
|
145
|
+
console.print(f"Janela encontrada: {title}")
|
146
|
+
break
|
147
|
+
except Exception:
|
148
|
+
continue
|
149
|
+
|
150
|
+
if not app or not app_window:
|
151
|
+
raise Exception("Nenhuma janela com título correspondente foi encontrada.")
|
152
|
+
|
153
|
+
app_window.set_focus()
|
154
|
+
console.print("Janela RDP ativada.")
|
155
|
+
|
156
|
+
pyautogui.press("left")
|
157
|
+
await worker_sleep(1)
|
158
|
+
pyautogui.hotkey("enter")
|
159
|
+
await worker_sleep(3)
|
160
|
+
|
161
|
+
except Exception as e:
|
162
|
+
console.print(f"Erro ao ativar a janela RDP: {e}", style="bold red")
|
163
|
+
|
159
164
|
|
160
165
|
console.print("Inserindo senha.")
|
161
166
|
pyautogui.write(self.password, interval=0.1)
|
@@ -165,9 +170,18 @@ class RDPConnection:
|
|
165
170
|
await worker_sleep(5)
|
166
171
|
pyautogui.press("enter")
|
167
172
|
console.print("Credenciais inseridas.")
|
168
|
-
await worker_sleep(5)
|
173
|
+
await worker_sleep(5)
|
169
174
|
|
170
175
|
console.print("Conexão RDP ativa. Mantendo o script em execução.")
|
176
|
+
|
177
|
+
try:
|
178
|
+
base_path = os.path.join("worker_automate_hub", "tasks", "jobs")
|
179
|
+
rdp_file_path = os.path.join(base_path, "connection.rdp")
|
180
|
+
if os.path.exists(rdp_file_path):
|
181
|
+
os.remove(rdp_file_path)
|
182
|
+
except Exception as error:
|
183
|
+
console.print(f"Erro ao deletar arquivo 'connection.rdp'. Error: {error}")
|
184
|
+
|
171
185
|
return True
|
172
186
|
except Exception as e:
|
173
187
|
logger.error(f"Erro ao tentar conectar via RDP: {e}")
|
@@ -191,7 +205,6 @@ async def conexao_rdp(task: RpaProcessoRdpDTO) -> RpaRetornoProcessoDTO:
|
|
191
205
|
|
192
206
|
await rdp.clicar_no_titulo()
|
193
207
|
|
194
|
-
# Mantém o script ativo para manter a conexão RDP aberta
|
195
208
|
return RpaRetornoProcessoDTO(
|
196
209
|
sucesso=True,
|
197
210
|
retorno="Conexão RDP estabelecida com sucesso.",
|
@@ -650,7 +650,7 @@ async def api_simplifica(
|
|
650
650
|
|
651
651
|
try:
|
652
652
|
async with aiohttp.ClientSession(
|
653
|
-
connector=aiohttp.TCPConnector(verify_ssl=
|
653
|
+
connector=aiohttp.TCPConnector(verify_ssl=True)
|
654
654
|
) as session:
|
655
655
|
async with session.post(f"{urlSimplifica}", data=data) as response:
|
656
656
|
if response.status != 200:
|
@@ -1,11 +1,11 @@
|
|
1
1
|
worker_automate_hub/__init__.py,sha256=LV28uQvBfpPIqudGIMJmVB8E941MjXHcu8DMoX5n8AM,25
|
2
2
|
worker_automate_hub/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
worker_automate_hub/api/ahead_service.py,sha256=0tX-i1ACRg3_yOI-_AfFEZ6FNU3L8Zb316n3QUkSwL0,2027
|
4
|
-
worker_automate_hub/api/client.py,sha256=
|
4
|
+
worker_automate_hub/api/client.py,sha256=fU7Br8RZEHc_zYb-i4nkSdvp96fCvKs-VQJGd3dw-Kk,18782
|
5
5
|
worker_automate_hub/api/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
worker_automate_hub/api/helpers/api_helpers.py,sha256=SkheO2fXexeh-a4shr8Qzsz_kZhuSG0DJ7kbODctRbM,3696
|
7
|
-
worker_automate_hub/api/rpa_fila_service.py,sha256=
|
8
|
-
worker_automate_hub/api/rpa_historico_service.py,sha256=
|
7
|
+
worker_automate_hub/api/rpa_fila_service.py,sha256=K_8EL5P6Y_CHs-f9ZGTsuUUjMd2fu4wN4NieHvMijKs,2100
|
8
|
+
worker_automate_hub/api/rpa_historico_service.py,sha256=GZ3umxvSGNecQsffIRwgfmgpXHDFWq8EiBuAYqtrMNQ,4761
|
9
9
|
worker_automate_hub/api/webhook_service.py,sha256=9KvTv1U02CSYpf_vLnqs4RZqZzR7Mn0v1OVOI451yOM,1762
|
10
10
|
worker_automate_hub/cli.py,sha256=JB45pjPJ8_E-4xw0OjqDMcAw-tpDV0mjmvwJRTnTzY0,6862
|
11
11
|
worker_automate_hub/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -32,7 +32,7 @@ worker_automate_hub/models/dto/rpa_sistema_dto.py,sha256=sLkmJei8x6sl-1-IXUKDmYQ
|
|
32
32
|
worker_automate_hub/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
33
|
worker_automate_hub/tasks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
worker_automate_hub/tasks/jobs/coleta_dje_process.py,sha256=rf4fW-FaHUl1MS7b03z4cwI3zHfNw8FWxvjvNY3Xn20,28773
|
35
|
-
worker_automate_hub/tasks/jobs/conexao_rdp.py,sha256=
|
35
|
+
worker_automate_hub/tasks/jobs/conexao_rdp.py,sha256=vbbEsGdpgISBBVnJo8FI81zqzponqEPIAT1kNLsxizQ,9183
|
36
36
|
worker_automate_hub/tasks/jobs/descartes.py,sha256=RIjrZIzkW77NiKeXbxFN9k872cz3fl9cG1m5TJpjmmY,40134
|
37
37
|
worker_automate_hub/tasks/jobs/ecac_estadual_go.py,sha256=aPckQRlRozFS_OK3C9wNdMCmqO6AM4djwqY2uSSaPmo,20687
|
38
38
|
worker_automate_hub/tasks/jobs/ecac_estadual_main.py,sha256=FFpAdtZLO4uelWZooCVpm4JePv_iDt5nwVKrk1ipZJQ,1599
|
@@ -67,10 +67,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
|
|
67
67
|
worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
|
68
68
|
worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
|
69
69
|
worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
|
70
|
-
worker_automate_hub/utils/util.py,sha256=
|
70
|
+
worker_automate_hub/utils/util.py,sha256=JkSKFgnI6geDEIlpaJJ5Btd7XdPllfUSFcjvPAaG-bo,125954
|
71
71
|
worker_automate_hub/utils/utils_nfe_entrada.py,sha256=p5r_L5k7gqCBvV8v6dbLFM6INKiSpGc4Gegid0_YAh4,29017
|
72
72
|
worker_automate_hub/worker.py,sha256=tftQpX8liC-_0_bOUf1YYzXSCvloMQBvjmQ6lzfEE-c,4816
|
73
|
-
worker_automate_hub-0.4.
|
74
|
-
worker_automate_hub-0.4.
|
75
|
-
worker_automate_hub-0.4.
|
76
|
-
worker_automate_hub-0.4.
|
73
|
+
worker_automate_hub-0.4.449.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
74
|
+
worker_automate_hub-0.4.449.dist-info/METADATA,sha256=VrWE59j1n-zIdItKYymXrHmkzwmCADS3IXdY8LfuM7w,2895
|
75
|
+
worker_automate_hub-0.4.449.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
76
|
+
worker_automate_hub-0.4.449.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.4.447.dist-info → worker_automate_hub-0.4.449.dist-info}/entry_points.txt
RENAMED
File without changes
|