Use sounds.json release asset for available languages and variants

This commit is contained in:
elecpower
2022-09-06 09:29:41 +10:00
committed by Peter Feerick
parent 1d9f0d7d76
commit 19db99c4c2
3 changed files with 23 additions and 3 deletions
@@ -666,6 +666,14 @@ void UpdateInterface::downloadMetaData(const MetaDataType mdt, const QString & u
download(DDT_MetaData, mdt, url, GH_ACCEPT_HEADER_METADATA, QString());
}
bool UpdateInterface::downloadAssetToBuffer(const int assetId)
{
//progressMessage(tr("Download asset %1").arg(assetId));
assets->setId(assetId);
download(DDT_Content, 0, assets->urlAsset(), GH_ACCEPT_HEADER_BINARY, QString());
return downloadSuccess;
}
bool UpdateInterface::downloadTextFileToBuffer(const QString & path)
{
//progressMessage(tr("Download file %1").arg(path));
+1
View File
@@ -189,6 +189,7 @@ class UpdateInterface : public QWidget
bool copyFiles();
bool saveReleaseSettings();
bool downloadAssetToBuffer(const int assetId);
bool downloadTextFileToBuffer(const QString & path);
void downloadFileToBuffer(const QString & url);
bool convertDownloadToJson(QJsonDocument * json);
+14 -3
View File
@@ -48,9 +48,20 @@ bool UpdateSounds::flagAssets()
{
progressMessage(tr("Flagging assets"));
const QString mappingfile = "sounds.json";
QString pattern("sounds.json");
assets->setFilterPattern(pattern);
if (!downloadTextFileToBuffer(mappingfile)) {
if (assets->count() < 0) {
reportProgress(tr("Asset not found in release '%1' using filter pattern '%2'").arg(releases->name().arg(pattern)), QtCriticalMsg);
return false;
}
else if (assets->count() > 1) {
reportProgress(tr("%1 assets found when %2 expected in release '%3' using filter pattern '%4'")
.arg(assets->count()).arg(1).arg(releases->name().arg(pattern)), QtCriticalMsg);
return false;
}
if (!downloadAssetToBuffer(assets->getSetId(0))) {
return false;
}
@@ -107,7 +118,7 @@ bool UpdateSounds::flagAssets()
delete json;
if (langPacks->rowCount() < 1) {
reportProgress(tr("Language %1 not listed in %2").arg(runParams->data.language).arg(mappingfile), QtCriticalMsg);
reportProgress(tr("Language %1 not listed in %2").arg(runParams->data.language).arg(pattern), QtCriticalMsg);
return false;
}