diff options
author | OldWorldOrdr <joey.t.reinhart@gmail.com> | 2022-06-20 11:02:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-20 11:02:40 -0400 |
commit | 6103d86a47039521c3d4c31a4716c1d48962a8f1 (patch) | |
tree | 95112ac7e3a583fc740eec845b2bbc3126a816fb /launcher/modplatform/flame/FlamePackIndex.cpp | |
parent | 843c860d98dab5a438374ab136b28d409184ec81 (diff) | |
parent | b8899a534d9679aace828f9c15a9a3083685f680 (diff) | |
download | PrismLauncher-6103d86a47039521c3d4c31a4716c1d48962a8f1.tar.gz PrismLauncher-6103d86a47039521c3d4c31a4716c1d48962a8f1.tar.bz2 PrismLauncher-6103d86a47039521c3d4c31a4716c1d48962a8f1.zip |
Merge branch 'PolyMC:develop' into develop
Diffstat (limited to 'launcher/modplatform/flame/FlamePackIndex.cpp')
-rw-r--r-- | launcher/modplatform/flame/FlamePackIndex.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/launcher/modplatform/flame/FlamePackIndex.cpp b/launcher/modplatform/flame/FlamePackIndex.cpp index bece7843..ad48b7b6 100644 --- a/launcher/modplatform/flame/FlamePackIndex.cpp +++ b/launcher/modplatform/flame/FlamePackIndex.cpp @@ -6,7 +6,6 @@ void Flame::loadIndexedPack(Flame::IndexedPack& pack, QJsonObject& obj) { pack.addonId = Json::requireInteger(obj, "id"); pack.name = Json::requireString(obj, "name"); - pack.websiteUrl = Json::ensureString(Json::ensureObject(obj, "links"), "websiteUrl", ""); pack.description = Json::ensureString(obj, "summary", ""); auto logo = Json::requireObject(obj, "logo"); @@ -46,6 +45,32 @@ void Flame::loadIndexedPack(Flame::IndexedPack& pack, QJsonObject& obj) if (!found) { throw JSONValidationError(QString("Pack with no good file, skipping: %1").arg(pack.name)); } + + loadIndexedInfo(pack, obj); +} + +void Flame::loadIndexedInfo(IndexedPack& pack, QJsonObject& obj) +{ + auto links_obj = Json::ensureObject(obj, "links"); + + pack.extra.websiteUrl = Json::ensureString(links_obj, "websiteUrl"); + if(pack.extra.websiteUrl.endsWith('/')) + pack.extra.websiteUrl.chop(1); + + pack.extra.issuesUrl = Json::ensureString(links_obj, "issuesUrl"); + if(pack.extra.issuesUrl.endsWith('/')) + pack.extra.issuesUrl.chop(1); + + pack.extra.sourceUrl = Json::ensureString(links_obj, "sourceUrl"); + if(pack.extra.sourceUrl.endsWith('/')) + pack.extra.sourceUrl.chop(1); + + pack.extra.wikiUrl = Json::ensureString(links_obj, "wikiUrl"); + if(pack.extra.wikiUrl.endsWith('/')) + pack.extra.wikiUrl.chop(1); + + pack.extraInfoLoaded = true; + } void Flame::loadIndexedPackVersions(Flame::IndexedPack& pack, QJsonArray& arr) |