worker-automate-hub 0.5.678__tar.gz → 0.5.680__tar.gz
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.
Potentially problematic release.
This version of worker-automate-hub might be problematic. Click here for more details.
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/PKG-INFO +1 -1
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/pyproject.toml +1 -1
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py +129 -72
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/README.md +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/ahead_service.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/client.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/datalake_service.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/helpers/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/rdp_service.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/rpa_fila_service.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/rpa_historico_service.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/webhook_service.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/cli.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/config/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/config/settings.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/config.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/core/so_manipulation.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/deprecation.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/rate_limit.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/repeat.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/retry.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/singleton.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/timeit.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dao/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dto/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dto/rpa_sap_dto.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/cte_manual.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/cte_xml.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/devolucao_ctf.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/devolucao_ctf_35.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_cte_1353.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_cte_333.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_503.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/entrada_de_notas_9000.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/extracao_fechamento_contabil.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/extracao_fechamento_emsys.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/fidc_exportacao_docs_portal_b2b.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/fidc_retorno_cobranca.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/geracao_aprovacao_pedidos.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/geracao_aprovacao_pedidos_novo.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/integracao_contabil.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/integracao_contabil_generica.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/lancamento_pis_cofins.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/lancamento_rateio.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/notas_faturamento_sap.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/playground.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/task_definitions.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/task_executor.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/__init__.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/env.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/logger.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/toast.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/updater.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/util.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
- {worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/worker.py +0 -0
|
@@ -7,6 +7,7 @@ import sys
|
|
|
7
7
|
import os
|
|
8
8
|
from pywinauto.findwindows import ElementNotFoundError
|
|
9
9
|
from pywinauto.keyboard import send_keys
|
|
10
|
+
|
|
10
11
|
# sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..')))
|
|
11
12
|
|
|
12
13
|
|
|
@@ -113,7 +114,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
113
114
|
app = Application().connect(class_name="TMessageForm", timeout=5)
|
|
114
115
|
main_window = app["TMessageForm"]
|
|
115
116
|
main_window.set_focus()
|
|
116
|
-
|
|
117
|
+
|
|
117
118
|
# Clicar em Não
|
|
118
119
|
console.print("Navegando nos elementos...\n")
|
|
119
120
|
main_window.child_window(class_name="TButton", found_index=0).click()
|
|
@@ -144,7 +145,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
144
145
|
)
|
|
145
146
|
|
|
146
147
|
await worker_sleep(2)
|
|
147
|
-
|
|
148
|
+
|
|
148
149
|
console.print("Aguardando janela 'Movimento de Livro Fiscal' aparecer...")
|
|
149
150
|
|
|
150
151
|
# Tempo limite de espera (em segundos)
|
|
@@ -154,11 +155,15 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
154
155
|
# Espera até a janela aparecer
|
|
155
156
|
while True:
|
|
156
157
|
try:
|
|
157
|
-
app = Application().connect(
|
|
158
|
+
app = Application().connect(
|
|
159
|
+
class_name="TFrmMovtoLivroFiscal", timeout=5
|
|
160
|
+
)
|
|
158
161
|
break # Se conectar, sai do loop
|
|
159
162
|
except ElementNotFoundError:
|
|
160
163
|
if time() - inicio > timeout:
|
|
161
|
-
console.print(
|
|
164
|
+
console.print(
|
|
165
|
+
"[bold red]Erro: Janela 'TFrmMovtoLivroFiscal' não apareceu dentro do tempo limite.[/bold red]"
|
|
166
|
+
)
|
|
162
167
|
raise
|
|
163
168
|
await worker_sleep(2)
|
|
164
169
|
|
|
@@ -168,7 +173,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
168
173
|
main_window = app["TFrmMovtoLivroFiscal"]
|
|
169
174
|
main_window.set_focus()
|
|
170
175
|
|
|
171
|
-
data_input = main_window.child_window(
|
|
176
|
+
data_input = main_window.child_window(
|
|
177
|
+
class_name="TDBIEditDate", found_index=0
|
|
178
|
+
)
|
|
172
179
|
data_input.click_input()
|
|
173
180
|
await worker_sleep(1)
|
|
174
181
|
data_input.set_edit_text("")
|
|
@@ -182,13 +189,17 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
182
189
|
|
|
183
190
|
# Marcando caixa Entrada
|
|
184
191
|
console.print("Marcando caixa entrada")
|
|
185
|
-
entrada = main_window.child_window(
|
|
192
|
+
entrada = main_window.child_window(
|
|
193
|
+
class_name="TcxCheckBox", found_index=9
|
|
194
|
+
).click_input()
|
|
186
195
|
|
|
187
196
|
await worker_sleep(2)
|
|
188
197
|
|
|
189
198
|
# Marcando caixa Saida
|
|
190
199
|
console.print("Marcando caixa saida")
|
|
191
|
-
saida_checkbox = main_window.child_window(
|
|
200
|
+
saida_checkbox = main_window.child_window(
|
|
201
|
+
class_name="TcxCheckBox", found_index=8
|
|
202
|
+
)
|
|
192
203
|
|
|
193
204
|
# Tenta clicar inicialmente
|
|
194
205
|
saida_checkbox.click_input()
|
|
@@ -216,7 +227,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
216
227
|
print("Tempo esgotado. A imagem não apareceu.")
|
|
217
228
|
break
|
|
218
229
|
|
|
219
|
-
print(
|
|
230
|
+
print(
|
|
231
|
+
"Imagem não apareceu na tela. Tentando clicar novamente na caixa de saída..."
|
|
232
|
+
)
|
|
220
233
|
try:
|
|
221
234
|
saida_checkbox.click_input()
|
|
222
235
|
except Exception as e:
|
|
@@ -224,7 +237,6 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
224
237
|
|
|
225
238
|
time.sleep(intervalo)
|
|
226
239
|
|
|
227
|
-
|
|
228
240
|
await worker_sleep(2)
|
|
229
241
|
|
|
230
242
|
# Clicando em incluir livro
|
|
@@ -243,58 +255,74 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
243
255
|
|
|
244
256
|
##### Janela Pergunta das Geração dos Livros Fiscais #####
|
|
245
257
|
await worker_sleep(5)
|
|
246
|
-
app = Application().connect(
|
|
258
|
+
app = Application().connect(
|
|
259
|
+
class_name="TPerguntasLivrosFiscaisForm", timeout=20
|
|
260
|
+
)
|
|
247
261
|
main_window = app["TPerguntasLivrosFiscaisForm"]
|
|
248
262
|
main_window.set_focus()
|
|
249
263
|
|
|
250
264
|
try:
|
|
251
265
|
console.print("Clicando sim em janela somar os valores de IPI Frete")
|
|
252
|
-
main_window.child_window(
|
|
266
|
+
main_window.child_window(
|
|
267
|
+
class_name="TDBIComboBoxValues", found_index=0
|
|
268
|
+
).click_input()
|
|
253
269
|
|
|
254
|
-
await worker_sleep(1)
|
|
270
|
+
await worker_sleep(1)
|
|
255
271
|
send_keys("{ENTER}")
|
|
256
|
-
await worker_sleep(2)
|
|
272
|
+
await worker_sleep(2)
|
|
257
273
|
except:
|
|
258
274
|
pass
|
|
259
275
|
console.print("Clicando sim em janela gerar Numero de Serie do SAT")
|
|
260
|
-
|
|
276
|
+
|
|
261
277
|
try:
|
|
262
|
-
main_window.child_window(
|
|
263
|
-
|
|
264
|
-
|
|
278
|
+
main_window.child_window(
|
|
279
|
+
class_name="TDBIComboBoxValues", found_index=4
|
|
280
|
+
).click_input()
|
|
281
|
+
|
|
282
|
+
await worker_sleep(1)
|
|
265
283
|
send_keys("{ENTER}")
|
|
266
|
-
await worker_sleep(2)
|
|
284
|
+
await worker_sleep(2)
|
|
267
285
|
except:
|
|
268
286
|
pass
|
|
269
287
|
|
|
270
288
|
try:
|
|
271
|
-
console.print(
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
289
|
+
console.print(
|
|
290
|
+
"Clicando sim em janela gerar Numero de Serie a partir da chave do documento"
|
|
291
|
+
)
|
|
292
|
+
main_window.child_window(
|
|
293
|
+
class_name="TDBIComboBoxValues", found_index=1
|
|
294
|
+
).click_input()
|
|
295
|
+
|
|
296
|
+
await worker_sleep(1)
|
|
275
297
|
send_keys("{ENTER}")
|
|
276
|
-
await worker_sleep(2)
|
|
298
|
+
await worker_sleep(2)
|
|
277
299
|
except:
|
|
278
300
|
pass
|
|
279
|
-
|
|
301
|
+
|
|
280
302
|
try:
|
|
281
|
-
console.print(
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
303
|
+
console.print(
|
|
304
|
+
"Clicando sim em janela gerar livro com observação da nota fiscal"
|
|
305
|
+
)
|
|
306
|
+
main_window.child_window(
|
|
307
|
+
class_name="TDBIComboBoxValues", found_index=3
|
|
308
|
+
).click_input()
|
|
309
|
+
|
|
310
|
+
await worker_sleep(1)
|
|
285
311
|
send_keys("{ENTER}")
|
|
286
|
-
await worker_sleep(2)
|
|
312
|
+
await worker_sleep(2)
|
|
287
313
|
except:
|
|
288
314
|
pass
|
|
289
|
-
|
|
315
|
+
|
|
290
316
|
try:
|
|
291
317
|
console.print("Clicando sim em janela somar valores de ICMS...")
|
|
292
|
-
main_window.child_window(
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
318
|
+
main_window.child_window(
|
|
319
|
+
class_name="TDBIComboBoxValues", found_index=2
|
|
320
|
+
).click_input()
|
|
321
|
+
|
|
322
|
+
await worker_sleep(1)
|
|
323
|
+
send_keys("{ENTER}")
|
|
296
324
|
except:
|
|
297
|
-
pass
|
|
325
|
+
pass
|
|
298
326
|
await worker_sleep(3)
|
|
299
327
|
|
|
300
328
|
# Clicar em confirmar
|
|
@@ -306,7 +334,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
306
334
|
app = Application().connect(title="Gerar Registros", timeout=60)
|
|
307
335
|
main_window = app["Gerar Registros"]
|
|
308
336
|
main_window.set_focus()
|
|
309
|
-
|
|
337
|
+
|
|
310
338
|
# Clicar em Sim
|
|
311
339
|
main_window.child_window(class_name="Button", found_index=0).click_input()
|
|
312
340
|
|
|
@@ -322,17 +350,21 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
322
350
|
|
|
323
351
|
while True:
|
|
324
352
|
janela_aberta = False
|
|
325
|
-
|
|
353
|
+
|
|
326
354
|
# 1. Verifica se a imagem apareceu e clica em 'Sim' na janela "Informação"
|
|
327
355
|
try:
|
|
328
356
|
if pyautogui.locateOnScreen(imagem, confidence=0.9):
|
|
329
357
|
print("Imagem 'livros_incluidos' apareceu na tela.")
|
|
330
358
|
try:
|
|
331
|
-
app_info = Application().connect(
|
|
359
|
+
app_info = Application().connect(
|
|
360
|
+
title="Informação", timeout=5
|
|
361
|
+
)
|
|
332
362
|
info_window = app_info["Informação"]
|
|
333
363
|
info_window.set_focus()
|
|
334
364
|
console.print("Clicando em 'Sim' na janela Informação...")
|
|
335
|
-
info_window.child_window(
|
|
365
|
+
info_window.child_window(
|
|
366
|
+
class_name="Button", found_index=0
|
|
367
|
+
).click_input()
|
|
336
368
|
except Exception as e:
|
|
337
369
|
print(f"Erro ao clicar em 'Sim' na janela Informação: {e}")
|
|
338
370
|
except Exception as e:
|
|
@@ -353,7 +385,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
353
385
|
|
|
354
386
|
# 2. Verifica e trata janela de confirmação TMessageForm
|
|
355
387
|
try:
|
|
356
|
-
app_msg = Application().connect(
|
|
388
|
+
app_msg = Application().connect(
|
|
389
|
+
class_name="TMessageForm", timeout=2
|
|
390
|
+
)
|
|
357
391
|
form = app_msg["TMessageForm"]
|
|
358
392
|
console.print("Janela de confirmação 'TMessageForm' encontrada.")
|
|
359
393
|
form.set_focus()
|
|
@@ -366,7 +400,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
366
400
|
|
|
367
401
|
# 3. Verifica se a janela do relatório está aberta
|
|
368
402
|
try:
|
|
369
|
-
app_report = Application().connect(
|
|
403
|
+
app_report = Application().connect(
|
|
404
|
+
class_name="TFrmPreviewRelatorio", timeout=2
|
|
405
|
+
)
|
|
370
406
|
janela = app_report["TFrmPreviewRelatorio"]
|
|
371
407
|
print("Janela 'TFrmPreviewRelatorio' encontrada.")
|
|
372
408
|
janela_aberta = True
|
|
@@ -385,7 +421,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
385
421
|
print("Tempo esgotado. Relatório não carregado.")
|
|
386
422
|
break
|
|
387
423
|
|
|
388
|
-
print(
|
|
424
|
+
print(
|
|
425
|
+
"Aguardando janela de relatório... (verificando novas confirmações se houver)"
|
|
426
|
+
)
|
|
389
427
|
time.sleep(intervalo)
|
|
390
428
|
|
|
391
429
|
await worker_sleep(5)
|
|
@@ -399,7 +437,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
399
437
|
print("Clicou no botão de confirmação.")
|
|
400
438
|
except:
|
|
401
439
|
pass
|
|
402
|
-
|
|
440
|
+
|
|
403
441
|
##### Janela Pré-visualizando Relatório #####
|
|
404
442
|
console.print("Fechar Janela Pré-visualizando Relatório ")
|
|
405
443
|
app = Application().connect(class_name="TFrmPreviewRelatorio", timeout=60)
|
|
@@ -433,7 +471,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
433
471
|
texto_atual = campo.window_text().strip()
|
|
434
472
|
if texto_atual == "":
|
|
435
473
|
break # Campo foi limpo com sucesso
|
|
436
|
-
print(
|
|
474
|
+
print(
|
|
475
|
+
f"Tentativa {tentativa+1}: campo ainda contém texto: '{texto_atual}'"
|
|
476
|
+
)
|
|
437
477
|
|
|
438
478
|
# Continua se o campo estiver limpo
|
|
439
479
|
campo.type_keys("Livro de Apuração ICMS", with_spaces=True)
|
|
@@ -443,7 +483,6 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
443
483
|
await worker_sleep(2)
|
|
444
484
|
send_keys("{ENTER}")
|
|
445
485
|
|
|
446
|
-
|
|
447
486
|
await worker_sleep(5)
|
|
448
487
|
|
|
449
488
|
##### Janela Movimentação de Apuração ICMS #####
|
|
@@ -452,12 +491,12 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
452
491
|
main_window.set_focus()
|
|
453
492
|
|
|
454
493
|
console.print("Clicando no último livro, primeira linha")
|
|
455
|
-
pyautogui.click(599,410)
|
|
456
|
-
|
|
494
|
+
pyautogui.click(599, 410)
|
|
495
|
+
|
|
457
496
|
await worker_sleep(1)
|
|
458
497
|
|
|
459
|
-
console.print("Clicando em Estornar Livro")
|
|
460
|
-
pyautogui.click(667,742)
|
|
498
|
+
console.print("Clicando em Estornar Livro")
|
|
499
|
+
pyautogui.click(667, 742)
|
|
461
500
|
|
|
462
501
|
await worker_sleep(3)
|
|
463
502
|
|
|
@@ -466,7 +505,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
466
505
|
await worker_sleep(5)
|
|
467
506
|
|
|
468
507
|
console.print("Selecionar Livro Saída aberto")
|
|
469
|
-
|
|
508
|
+
|
|
470
509
|
# Selecionar linha livro de saída aberto
|
|
471
510
|
# imagem = "assets\\abertura_livros\\livro_saida_aberto.png"
|
|
472
511
|
imagem = "assets\\abertura_livros\\livro_saida_aberto.png"
|
|
@@ -481,11 +520,14 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
481
520
|
else:
|
|
482
521
|
console.print("Imagem livro de saída aberto não encontrado na tela.")
|
|
483
522
|
|
|
523
|
+
await worker_sleep(5)
|
|
484
524
|
# Clicar em alterar livro
|
|
485
525
|
# imagem = "assets\\abertura_livros\\alterar_livro.png"
|
|
486
526
|
imagem = "assets\\abertura_livros\\alterar_livro.png"
|
|
487
527
|
# Tenta localizar a imagem na tela
|
|
488
|
-
localizacao = pyautogui.locateCenterOnScreen(
|
|
528
|
+
localizacao = pyautogui.locateCenterOnScreen(
|
|
529
|
+
imagem, confidence=0.9
|
|
530
|
+
) # você pode ajustar o confidence
|
|
489
531
|
|
|
490
532
|
if localizacao:
|
|
491
533
|
print(f"Imagem alterar livro encontrado em: {localizacao}")
|
|
@@ -500,7 +542,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
500
542
|
# imagem = "assets\\abertura_livros\\livro_fiscal.png"
|
|
501
543
|
imagem = "assets\\abertura_livros\\livro_fiscal.png"
|
|
502
544
|
# Tenta localizar a imagem na tela
|
|
503
|
-
localizacao = pyautogui.locateCenterOnScreen(
|
|
545
|
+
localizacao = pyautogui.locateCenterOnScreen(
|
|
546
|
+
imagem, confidence=0.9
|
|
547
|
+
) # você pode ajustar o confidence
|
|
504
548
|
|
|
505
549
|
if localizacao:
|
|
506
550
|
print(f"Imagem Livro fiscal encontrado em: {localizacao}")
|
|
@@ -508,15 +552,17 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
508
552
|
pyautogui.click()
|
|
509
553
|
else:
|
|
510
554
|
console.print("Imagem Livro fiscal não encontrada na tela.")
|
|
511
|
-
|
|
555
|
+
|
|
512
556
|
await worker_sleep(4)
|
|
513
|
-
|
|
557
|
+
|
|
514
558
|
# Clicar em Gerar Relatório
|
|
515
559
|
# imagem = "assets\\abertura_livros\\gerar_registros.png"
|
|
516
560
|
imagem = "assets\\abertura_livros\\gerar_registros.png"
|
|
517
561
|
|
|
518
562
|
# Tenta localizar a imagem na tela
|
|
519
|
-
localizacao = pyautogui.locateCenterOnScreen(
|
|
563
|
+
localizacao = pyautogui.locateCenterOnScreen(
|
|
564
|
+
imagem, confidence=0.9
|
|
565
|
+
) # você pode ajustar o confidence
|
|
520
566
|
|
|
521
567
|
if localizacao:
|
|
522
568
|
print(f"Imagem gerar relatório encontrado em: {localizacao}")
|
|
@@ -530,21 +576,23 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
530
576
|
app = Application().connect(class_name="TMsgBox", timeout=60)
|
|
531
577
|
main_window = app["TMsgBox"]
|
|
532
578
|
main_window.set_focus()
|
|
533
|
-
|
|
579
|
+
|
|
534
580
|
# Clicar em Sim
|
|
535
581
|
main_window.child_window(class_name="TBitBtn", found_index=1).click_input()
|
|
536
582
|
|
|
537
583
|
await worker_sleep(4)
|
|
538
584
|
|
|
539
585
|
console.print("Clicar em confirmar")
|
|
540
|
-
app = Application().connect(
|
|
586
|
+
app = Application().connect(
|
|
587
|
+
class_name="TPerguntasLivrosFiscaisForm", timeout=60
|
|
588
|
+
)
|
|
541
589
|
main_window = app["TPerguntasLivrosFiscaisForm"]
|
|
542
590
|
main_window.set_focus()
|
|
543
591
|
main_window.child_window(class_name="TButton", found_index=1).click_input()
|
|
544
592
|
|
|
545
593
|
await worker_sleep(5)
|
|
546
594
|
|
|
547
|
-
# Clicar no aviso
|
|
595
|
+
# Clicar no aviso
|
|
548
596
|
try:
|
|
549
597
|
app_msgbox = Application().connect(class_name="TMsgBox", timeout=10)
|
|
550
598
|
box = app_msgbox["TMsgBox"]
|
|
@@ -552,9 +600,10 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
552
600
|
box.set_focus()
|
|
553
601
|
box.child_window(class_name="TBitBtn", found_index=0).click_input()
|
|
554
602
|
print("Clicou no botão 'TBitBtn'.")
|
|
603
|
+
await worker_sleep(2)
|
|
555
604
|
except:
|
|
556
605
|
pass
|
|
557
|
-
await worker_sleep(
|
|
606
|
+
await worker_sleep(5)
|
|
558
607
|
try:
|
|
559
608
|
app_msg = Application().connect(class_name="TMessageForm", timeout=10)
|
|
560
609
|
form = app_msg["TMessageForm"]
|
|
@@ -562,9 +611,10 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
562
611
|
form.set_focus()
|
|
563
612
|
form.child_window(class_name="TButton", found_index=1).click_input()
|
|
564
613
|
print("Clicou no botão de confirmação.")
|
|
614
|
+
await worker_sleep(2)
|
|
565
615
|
except:
|
|
566
616
|
pass
|
|
567
|
-
await worker_sleep(
|
|
617
|
+
await worker_sleep(5)
|
|
568
618
|
try:
|
|
569
619
|
app_msg = Application().connect(class_name="TMessageForm", timeout=10)
|
|
570
620
|
form = app_msg["TMessageForm"]
|
|
@@ -572,9 +622,10 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
572
622
|
form.set_focus()
|
|
573
623
|
form.child_window(class_name="TButton", found_index=0).click_input()
|
|
574
624
|
print("Clicou no botão de confirmação.")
|
|
625
|
+
await worker_sleep(2)
|
|
575
626
|
except:
|
|
576
627
|
pass
|
|
577
|
-
await worker_sleep(
|
|
628
|
+
await worker_sleep(5)
|
|
578
629
|
try:
|
|
579
630
|
app_msg = Application().connect(class_name="TMessageForm", timeout=10)
|
|
580
631
|
form = app_msg["TMessageForm"]
|
|
@@ -582,9 +633,10 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
582
633
|
form.set_focus()
|
|
583
634
|
form.child_window(class_name="TButton", found_index=1).click_input()
|
|
584
635
|
print("Clicou no botão de confirmação.")
|
|
636
|
+
await worker_sleep(2)
|
|
585
637
|
except:
|
|
586
638
|
pass
|
|
587
|
-
await worker_sleep(
|
|
639
|
+
await worker_sleep(5)
|
|
588
640
|
try:
|
|
589
641
|
app_msg = Application().connect(class_name="TMessageForm", timeout=10)
|
|
590
642
|
form = app_msg["TMessageForm"]
|
|
@@ -592,9 +644,10 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
592
644
|
form.set_focus()
|
|
593
645
|
form.child_window(class_name="TButton", found_index=0).click_input()
|
|
594
646
|
print("Clicou no botão de confirmação.")
|
|
647
|
+
await worker_sleep(2)
|
|
595
648
|
except:
|
|
596
649
|
pass
|
|
597
|
-
await worker_sleep(
|
|
650
|
+
await worker_sleep(5)
|
|
598
651
|
try:
|
|
599
652
|
# Caminho da imagem que deve desaparecer
|
|
600
653
|
console.print("Aguardar carregar dados")
|
|
@@ -633,7 +686,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
633
686
|
|
|
634
687
|
print(f"Foram encontrados {len(edits)} campos TEdit.")
|
|
635
688
|
|
|
636
|
-
campo = edits[0]
|
|
689
|
+
campo = edits[0]
|
|
637
690
|
campo.click_input()
|
|
638
691
|
await worker_sleep(1)
|
|
639
692
|
|
|
@@ -646,7 +699,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
646
699
|
texto_atual = campo.window_text().strip()
|
|
647
700
|
if texto_atual == "":
|
|
648
701
|
break # Campo foi limpo com sucesso
|
|
649
|
-
print(
|
|
702
|
+
print(
|
|
703
|
+
f"Tentativa {tentativa+1}: campo ainda contém texto: '{texto_atual}'"
|
|
704
|
+
)
|
|
650
705
|
|
|
651
706
|
# Continua se o campo estiver limpo
|
|
652
707
|
campo.type_keys("Livro de Apuração ICMS", with_spaces=True)
|
|
@@ -656,7 +711,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
656
711
|
await worker_sleep(2)
|
|
657
712
|
send_keys("{ENTER}")
|
|
658
713
|
|
|
659
|
-
await worker_sleep(5)
|
|
714
|
+
await worker_sleep(5)
|
|
660
715
|
console.print("Inserindo competência...")
|
|
661
716
|
|
|
662
717
|
# Conecta na janela
|
|
@@ -665,7 +720,9 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
665
720
|
main_window.set_focus()
|
|
666
721
|
|
|
667
722
|
# Captura o campo de data (TDBIEditDate)
|
|
668
|
-
data_input = main_window.child_window(
|
|
723
|
+
data_input = main_window.child_window(
|
|
724
|
+
class_name="TDBIEditDate", found_index=0
|
|
725
|
+
)
|
|
669
726
|
data_input.click_input()
|
|
670
727
|
await worker_sleep(1)
|
|
671
728
|
data_input.set_edit_text("") # Limpa o campo
|
|
@@ -673,14 +730,16 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
673
730
|
# Define a competência
|
|
674
731
|
# Ex: "07/2025"
|
|
675
732
|
data_input.type_keys(competencia, with_spaces=True)
|
|
676
|
-
|
|
733
|
+
|
|
677
734
|
console.print("Clicando no botão incluir apuração")
|
|
678
735
|
# Clicar em incluir apuração
|
|
679
736
|
# imagem = "assets\\abertura_livros\\btn_incluir_apuracao.png"
|
|
680
737
|
imagem = "assets\\abertura_livros\\btn_incluir_apuracao.png"
|
|
681
738
|
|
|
682
739
|
# Tenta localizar a imagem na tela
|
|
683
|
-
localizacao = pyautogui.locateCenterOnScreen(
|
|
740
|
+
localizacao = pyautogui.locateCenterOnScreen(
|
|
741
|
+
imagem, confidence=0.9
|
|
742
|
+
) # você pode ajustar o confidence
|
|
684
743
|
|
|
685
744
|
if localizacao:
|
|
686
745
|
print(f"Imagem incluir apuração encontrado em: {localizacao}")
|
|
@@ -689,9 +748,7 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
|
|
|
689
748
|
console.print("Apuração incluida com sucesso")
|
|
690
749
|
retorno = "Apuração incluida com sucesso"
|
|
691
750
|
return RpaRetornoProcessoDTO(
|
|
692
|
-
|
|
693
|
-
retorno=retorno,
|
|
694
|
-
status=RpaHistoricoStatusEnum.Sucesso
|
|
751
|
+
sucesso=True, retorno=retorno, status=RpaHistoricoStatusEnum.Sucesso
|
|
695
752
|
)
|
|
696
753
|
else:
|
|
697
754
|
console.print("Imagem incluir apuração não encontrada na tela.")
|
|
File without changes
|
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/__init__.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/ahead_service.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/api/rdp_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/config/__init__.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/config/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/repeat.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/retry.py
RENAMED
|
File without changes
|
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/decorators/timeit.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/models/__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
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/tasks/__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
|
|
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.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/__init__.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/env.py
RENAMED
|
File without changes
|
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/logger.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/toast.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/updater.py
RENAMED
|
File without changes
|
{worker_automate_hub-0.5.678 → worker_automate_hub-0.5.680}/worker_automate_hub/utils/util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|