Skip lookup if no files and fail if zipping fails

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad
2023-03-28 14:22:28 +01:00
parent 46f448dfba
commit e42050cc8a
2 changed files with 15 additions and 13 deletions

View File

@ -46,11 +46,15 @@ void ModrinthPackExportTask::executeTask()
setProgress(0, 0);
collectFiles();
QByteArray* response = new QByteArray;
task = api.currentVersions(pendingHashes.values(), "sha512", response);
connect(task.get(), &NetJob::succeeded, [this, response]() { parseApiResponse(response); });
connect(task.get(), &NetJob::failed, this, &ModrinthPackExportTask::emitFailed);
task->start();
if (pendingHashes.isEmpty())
buildZip();
else {
QByteArray* response = new QByteArray;
task = api.currentVersions(pendingHashes.values(), "sha512", response);
connect(task.get(), &NetJob::succeeded, [this, response]() { parseApiResponse(response); });
connect(task.get(), &NetJob::failed, this, &ModrinthPackExportTask::emitFailed);
task->start();
}
}
bool ModrinthPackExportTask::abort()
@ -176,8 +180,12 @@ void ModrinthPackExportTask::buildZip()
setProgress(i, files.length());
QString relative = mc.relativeFilePath(file.absoluteFilePath());
if (!resolvedFiles.contains(relative) && !JlCompress::compressFile(&zip, file.absoluteFilePath(), "overrides/" + relative))
qWarning() << "Could not compress" << file;
if (!resolvedFiles.contains(relative) && !JlCompress::compressFile(&zip, file.absoluteFilePath(), "overrides/" + relative)) {
QFile::remove(output);
QMetaObject::invokeMethod(
this, [this, relative]() { emitFailed(tr("Could not compress %1").arg(relative)); }, Qt::QueuedConnection);
return;
}
i++;
}