worker-automate-hub 0.5.35__tar.gz → 0.5.36__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/PKG-INFO +1 -1
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/pyproject.toml +1 -1
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/util.py +82 -68
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/README.md +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/ahead_service.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/client.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/helpers/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rdp_service.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rpa_fila_service.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rpa_historico_service.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/webhook_service.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/cli.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config/settings.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/core/so_manipulation.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/deprecation.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/rate_limit.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/repeat.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/retry.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/singleton.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/timeit.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/playground.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/task_definitions.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/task_executor.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/__init__.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/env.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/logger.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/toast.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/updater.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
- {worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/worker.py +0 -0
@@ -1126,86 +1126,93 @@ async def get_xml(xml_file: str) -> None:
|
|
1126
1126
|
- None
|
1127
1127
|
"""
|
1128
1128
|
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1129
|
+
try:
|
1130
|
+
console.print("Verificando a existencia da tela de importação do XML... \n")
|
1131
|
+
app = Application().connect(title="Selecione a forma de obter o XML da NF-e")
|
1132
|
+
main_window = app["Selecione a forma de obter o XML da NF-e"]
|
1132
1133
|
|
1133
|
-
|
1134
|
-
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1134
|
+
# Verificando se a janela principal existe
|
1135
|
+
if main_window.exists():
|
1136
|
+
console.print("Janela principal encontrada com sucesso... \n")
|
1137
|
+
else:
|
1138
|
+
raise Exception("Janela principal de importação do XML não foi encontrada.")
|
1138
1139
|
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1140
|
+
console.print("Selecionando Arquivo XML para seguir com a importação... \n")
|
1141
|
+
arquivo_xml_button = main_window.child_window(title="Arquivo XML")
|
1142
|
+
if arquivo_xml_button.exists() and arquivo_xml_button.is_enabled():
|
1143
|
+
arquivo_xml_button.click()
|
1144
|
+
console.print("Arquivo XML selecionado com sucesso... \n")
|
1145
|
+
else:
|
1146
|
+
raise Exception("Botão Arquivo XML não foi encontrado.")
|
1146
1147
|
|
1147
|
-
|
1148
|
+
await worker_sleep(3)
|
1148
1149
|
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1150
|
+
console.print("Verificando se o botão OK existe ... \n")
|
1151
|
+
ok_button = main_window.child_window(title="OK", class_name="TBitBtn")
|
1152
|
+
if ok_button.exists() and ok_button.is_enabled():
|
1153
|
+
max_attempts = 3
|
1154
|
+
i = 0
|
1155
|
+
while i < max_attempts:
|
1156
|
+
console.print("Clicando em OK... \n")
|
1157
|
+
try:
|
1158
|
+
ok_button.click()
|
1159
|
+
console.print("Botão OK clicado com sucesso... \n")
|
1160
|
+
except:
|
1161
|
+
console.print("Não foi possivel clicar no Botão OK... \n")
|
1161
1162
|
|
1162
|
-
|
1163
|
+
await worker_sleep(3)
|
1163
1164
|
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1165
|
+
console.print("Verificando a existência da tela para importar o XML...\n")
|
1166
|
+
try:
|
1167
|
+
app = Application().connect(title="Abrir")
|
1168
|
+
main_window = app["Abrir"]
|
1169
|
+
console.print("A tela de importação foi encontrada!")
|
1170
|
+
break
|
1171
|
+
except Exception as e:
|
1172
|
+
console.print(
|
1173
|
+
f"Tela de importação não encontrada. Tentativa {i + 1}/{max_attempts}."
|
1174
|
+
)
|
1174
1175
|
|
1175
|
-
|
1176
|
+
i += 1
|
1176
1177
|
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
|
1178
|
+
if i == max_attempts:
|
1179
|
+
raise Exception(
|
1180
|
+
"Número máximo de tentativas atingido. A tela para importar o XML não foi encontrada."
|
1181
|
+
)
|
1181
1182
|
|
1182
|
-
|
1183
|
-
|
1183
|
+
else:
|
1184
|
+
raise Exception("Botão OK não foi encontrado.")
|
1184
1185
|
|
1185
|
-
|
1186
|
+
await worker_sleep(10)
|
1186
1187
|
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1188
|
+
console.print("Conectando na tela de importação do XML...\n")
|
1189
|
+
app = Application().connect(title="Abrir")
|
1190
|
+
main_window = app["Abrir"]
|
1190
1191
|
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
console.print("Carregando informações do XML a ser importado...\n")
|
1198
|
-
username = getpass.getuser()
|
1199
|
-
xml_name = f"{xml_file}.xml"
|
1200
|
-
path_to_xml = f"C:\\Users\\{username}\\Downloads\\{xml_name}"
|
1201
|
-
console.print("Inserindo caminho do XML...\n")
|
1202
|
-
main_window.type_keys("%n")
|
1203
|
-
await worker_sleep(2)
|
1204
|
-
pyautogui.write(path_to_xml)
|
1205
|
-
await worker_sleep(2)
|
1206
|
-
main_window.type_keys("%a")
|
1207
|
-
await worker_sleep(2)
|
1192
|
+
# Verificando se a janela principal existe
|
1193
|
+
if main_window.exists():
|
1194
|
+
console.print("Janela para importar o xml encontrada com sucesso... \n")
|
1195
|
+
else:
|
1196
|
+
raise Exception("Janela para importar o xml não foi encontrada.")
|
1208
1197
|
|
1198
|
+
console.print("Carregando informações do XML a ser importado...\n")
|
1199
|
+
username = getpass.getuser()
|
1200
|
+
xml_name = f"{xml_file}.xml"
|
1201
|
+
path_to_xml = f"C:\\Users\\{username}\\Downloads\\{xml_name}"
|
1202
|
+
console.print("Inserindo caminho do XML...\n")
|
1203
|
+
main_window.type_keys("%n")
|
1204
|
+
await worker_sleep(2)
|
1205
|
+
pyautogui.write(path_to_xml)
|
1206
|
+
await worker_sleep(2)
|
1207
|
+
main_window.type_keys("%a")
|
1208
|
+
await worker_sleep(2)
|
1209
|
+
except Exception as error:
|
1210
|
+
return RpaRetornoProcessoDTO(
|
1211
|
+
sucesso=False,
|
1212
|
+
retorno=f"Erro ao obter XML: {error}",
|
1213
|
+
status=RpaHistoricoStatusEnum.Falha,
|
1214
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
1215
|
+
)
|
1209
1216
|
|
1210
1217
|
async def delete_xml(nfe_key: str) -> None:
|
1211
1218
|
"""
|
@@ -2404,6 +2411,13 @@ async def error_after_xml_imported() -> RpaRetornoProcessoDTO:
|
|
2404
2411
|
|
2405
2412
|
status=RpaHistoricoStatusEnum.Falha, tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
|
2406
2413
|
)
|
2414
|
+
elif "ja lancada" in control_text:
|
2415
|
+
return RpaRetornoProcessoDTO(
|
2416
|
+
sucesso=False,
|
2417
|
+
retorno=f"Pop-up nota incluida encontrada, porém nota encontrada como 'já lançada' trazendo as seguintes informações: {control_text}",
|
2418
|
+
status=RpaHistoricoStatusEnum.Falha,
|
2419
|
+
tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
|
2420
|
+
)
|
2407
2421
|
else:
|
2408
2422
|
return RpaRetornoProcessoDTO(
|
2409
2423
|
sucesso=False,
|
@@ -2424,7 +2438,7 @@ async def error_after_xml_imported() -> RpaRetornoProcessoDTO:
|
|
2424
2438
|
retorno=f"Nota descartada: {control_text}... \n",
|
2425
2439
|
status=RpaHistoricoStatusEnum.Descartado,
|
2426
2440
|
)
|
2427
|
-
|
2441
|
+
|
2428
2442
|
|
2429
2443
|
async def error_before_persist_record() -> RpaRetornoProcessoDTO:
|
2430
2444
|
try:
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/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.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/rdp_service.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/api/webhook_service.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/config/settings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/repeat.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/retry.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/decorators/timeit.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/__init__.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_fila.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/models/dao/rpa_robo.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/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.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/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.35 → worker_automate_hub-0.5.36}/worker_automate_hub/tasks/task_executor.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/logger.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/toast.py
RENAMED
File without changes
|
{worker_automate_hub-0.5.35 → worker_automate_hub-0.5.36}/worker_automate_hub/utils/updater.py
RENAMED
File without changes
|
File without changes
|
File without changes
|