Added a protection against giving a mod url
Signed-off-by: timoreo <contact@timoreo.fr>
This commit is contained in:
parent
63c21c53af
commit
565202c990
@ -106,6 +106,10 @@ void InstanceImportTask::executeTask()
|
|||||||
connect(req, &NetJob::failed, this, &InstanceImportTask::downloadFailed);
|
connect(req, &NetJob::failed, this, &InstanceImportTask::downloadFailed);
|
||||||
connect(req, &NetJob::succeeded, [array, this] {
|
connect(req, &NetJob::succeeded, [array, this] {
|
||||||
auto doc = Json::requireDocument(*array);
|
auto doc = Json::requireDocument(*array);
|
||||||
|
// No way to find out if it's a mod or a modpack before here
|
||||||
|
// And also we need to check if it ends with .zip, instead of any better way
|
||||||
|
auto fileName = Json::ensureString(Json::ensureObject(Json::ensureObject(doc.object()), "data"), "fileName");
|
||||||
|
if (fileName.endsWith(".zip")) {
|
||||||
// Have to use ensureString then use QUrl to get proper url encoding
|
// Have to use ensureString then use QUrl to get proper url encoding
|
||||||
m_sourceUrl = QUrl(
|
m_sourceUrl = QUrl(
|
||||||
Json::ensureString(Json::ensureObject(Json::ensureObject(doc.object()), "data"), "downloadUrl", "", "downloadUrl"));
|
Json::ensureString(Json::ensureObject(Json::ensureObject(doc.object()), "data"), "downloadUrl", "", "downloadUrl"));
|
||||||
@ -114,6 +118,9 @@ void InstanceImportTask::executeTask()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
downloadFromUrl();
|
downloadFromUrl();
|
||||||
|
} else {
|
||||||
|
emitFailed(tr("This url isn't a valid modpack !"));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
connect(req, &NetJob::progress, this, &InstanceImportTask::downloadProgressChanged);
|
connect(req, &NetJob::progress, this, &InstanceImportTask::downloadProgressChanged);
|
||||||
connect(req, &NetJob::stepProgress, this, &InstanceImportTask::propogateStepProgress);
|
connect(req, &NetJob::stepProgress, this, &InstanceImportTask::propogateStepProgress);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user