Remove ensure JSON helpers
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
@@ -52,27 +52,27 @@ MetadataPtr parseJavaMeta(const QJsonObject& in)
|
||||
{
|
||||
auto meta = std::make_shared<Metadata>();
|
||||
|
||||
meta->m_name = Json::ensureString(in, "name", "");
|
||||
meta->vendor = Json::ensureString(in, "vendor", "");
|
||||
meta->url = Json::ensureString(in, "url", "");
|
||||
meta->releaseTime = timeFromS3Time(Json::ensureString(in, "releaseTime", ""));
|
||||
meta->downloadType = parseDownloadType(Json::ensureString(in, "downloadType", ""));
|
||||
meta->packageType = Json::ensureString(in, "packageType", "");
|
||||
meta->runtimeOS = Json::ensureString(in, "runtimeOS", "unknown");
|
||||
meta->m_name = in["name"].toString("");
|
||||
meta->vendor = in["vendor"].toString("");
|
||||
meta->url = in["url"].toString("");
|
||||
meta->releaseTime = timeFromS3Time(in["releaseTime"].toString(""));
|
||||
meta->downloadType = parseDownloadType(in["downloadType"].toString(""));
|
||||
meta->packageType = in["packageType"].toString("");
|
||||
meta->runtimeOS = in["runtimeOS"].toString("unknown");
|
||||
|
||||
if (in.contains("checksum")) {
|
||||
auto obj = Json::requireObject(in, "checksum");
|
||||
meta->checksumHash = Json::ensureString(obj, "hash", "");
|
||||
meta->checksumType = Json::ensureString(obj, "type", "");
|
||||
meta->checksumHash = obj["hash"].toString("");
|
||||
meta->checksumType = obj["type"].toString("");
|
||||
}
|
||||
|
||||
if (in.contains("version")) {
|
||||
auto obj = Json::requireObject(in, "version");
|
||||
auto name = Json::ensureString(obj, "name", "");
|
||||
auto major = Json::ensureInteger(obj, "major", 0);
|
||||
auto minor = Json::ensureInteger(obj, "minor", 0);
|
||||
auto security = Json::ensureInteger(obj, "security", 0);
|
||||
auto build = Json::ensureInteger(obj, "build", 0);
|
||||
auto name = obj["name"].toString("");
|
||||
auto major = obj["major"].toInteger();
|
||||
auto minor = obj["minor"].toInteger();
|
||||
auto security = obj["security"].toInteger();
|
||||
auto build = obj["build"].toInteger();
|
||||
meta->version = JavaVersion(major, minor, security, build, name);
|
||||
}
|
||||
return meta;
|
||||
|
||||
@@ -77,27 +77,27 @@ void ManifestDownloadTask::downloadJava(const QJsonDocument& doc)
|
||||
// valid json doc, begin making jre spot
|
||||
FS::ensureFolderPathExists(m_final_path);
|
||||
std::vector<File> toDownload;
|
||||
auto list = Json::ensureObject(Json::ensureObject(doc.object()), "files");
|
||||
auto list = doc.object()["files"].toObject();
|
||||
for (const auto& paths : list.keys()) {
|
||||
auto file = FS::PathCombine(m_final_path, paths);
|
||||
|
||||
const QJsonObject& meta = Json::ensureObject(list, paths);
|
||||
auto type = Json::ensureString(meta, "type");
|
||||
const QJsonObject& meta = list[paths].toObject();
|
||||
auto type = meta["type"].toString();
|
||||
if (type == "directory") {
|
||||
FS::ensureFolderPathExists(file);
|
||||
} else if (type == "link") {
|
||||
// this is *nix only !
|
||||
auto path = Json::ensureString(meta, "target");
|
||||
auto path = meta["target"].toString();
|
||||
if (!path.isEmpty()) {
|
||||
QFile::link(path, file);
|
||||
}
|
||||
} else if (type == "file") {
|
||||
// TODO download compressed version if it exists ?
|
||||
auto raw = Json::ensureObject(Json::ensureObject(meta, "downloads"), "raw");
|
||||
auto isExec = Json::ensureBoolean(meta, "executable", false);
|
||||
auto url = Json::ensureString(raw, "url");
|
||||
auto raw = meta["downloads"].toObject()["raw"].toObject();
|
||||
auto isExec = meta["executable"].toBool();
|
||||
auto url = raw["url"].toString();
|
||||
if (!url.isEmpty() && QUrl(url).isValid()) {
|
||||
auto f = File{ file, url, QByteArray::fromHex(Json::ensureString(raw, "sha1").toLatin1()), isExec };
|
||||
auto f = File{ file, url, QByteArray::fromHex(raw["sha1"].toString().toLatin1()), isExec };
|
||||
toDownload.push_back(f);
|
||||
}
|
||||
}
|
||||
@@ -134,4 +134,4 @@ bool ManifestDownloadTask::abort()
|
||||
emitAborted();
|
||||
return aborted;
|
||||
};
|
||||
} // namespace Java
|
||||
} // namespace Java
|
||||
|
||||
Reference in New Issue
Block a user