1
Fork 0
mirror of https://github.com/redstrate/Astra.git synced 2025-04-20 19:57:45 +00:00

Introduce utility functions to read/write version files

This commit is contained in:
Joshua Goins 2023-12-21 20:28:41 -05:00
parent 6288971967
commit 53603f4032
5 changed files with 28 additions and 36 deletions

View file

@ -13,4 +13,6 @@ QString toWindowsPath(const QDir &dir);
void printRequest(const QString &type, const QNetworkRequest &request); void printRequest(const QString &type, const QNetworkRequest &request);
void createPathIfNeeded(const QDir &dir); void createPathIfNeeded(const QDir &dir);
void setSSL(QNetworkRequest &request); void setSSL(QNetworkRequest &request);
QString readVersion(const QString &path);
void writeVersion(const QString &path, const QString &version);
} }

View file

@ -99,10 +99,7 @@ QCoro::Task<bool> AssetUpdater::checkRemoteDxvkVersion()
QString localDxvkVersion; QString localDxvkVersion;
const QString dxvkVer = m_dxvkDir.absoluteFilePath(QStringLiteral("dxvk.ver")); const QString dxvkVer = m_dxvkDir.absoluteFilePath(QStringLiteral("dxvk.ver"));
if (QFile::exists(dxvkVer)) { if (QFile::exists(dxvkVer)) {
QFile wineJson(dxvkVer); localDxvkVersion = Utility::readVersion(dxvkVer);
wineJson.open(QFile::ReadOnly | QFile::Text);
localDxvkVersion = QString::fromUtf8(wineJson.readAll());
qInfo(ASTRA_LOG) << "Local DXVK version:" << localDxvkVersion; qInfo(ASTRA_LOG) << "Local DXVK version:" << localDxvkVersion;
} }
@ -222,10 +219,7 @@ QCoro::Task<bool> AssetUpdater::installCompatibilityTool()
archive.close(); archive.close();
QFile verFile(m_wineDir.absoluteFilePath(QStringLiteral("wine.ver"))); Utility::writeVersion(m_wineDir.absoluteFilePath(QStringLiteral("wine.ver")), m_remoteCompatibilityToolVersion);
verFile.open(QIODevice::WriteOnly | QIODevice::Text);
verFile.write(m_remoteCompatibilityToolVersion.toUtf8());
verFile.close();
m_profile.setCompatibilityToolVersion(m_remoteCompatibilityToolVersion); m_profile.setCompatibilityToolVersion(m_remoteCompatibilityToolVersion);
@ -262,10 +256,7 @@ QCoro::Task<bool> AssetUpdater::installDxvkTool()
archive.close(); archive.close();
QFile verFile(m_dxvkDir.absoluteFilePath(QStringLiteral("dxvk.ver"))); Utility::writeVersion(m_dxvkDir.absoluteFilePath(QStringLiteral("dxvk.ver")), m_remoteDxvkToolVersion);
verFile.open(QIODevice::WriteOnly | QIODevice::Text);
verFile.write(m_remoteDxvkToolVersion.toUtf8());
verFile.close();
co_return true; co_return true;
} }
@ -306,10 +297,7 @@ QCoro::Task<bool> AssetUpdater::installDalamudAssets()
m_profile.setDalamudAssetVersion(m_remoteDalamudAssetVersion); m_profile.setDalamudAssetVersion(m_remoteDalamudAssetVersion);
QFile file(m_dalamudAssetDir.absoluteFilePath(QStringLiteral("asset.ver"))); Utility::writeVersion(m_dalamudAssetDir.absoluteFilePath(QStringLiteral("asset.ver")), QString::number(m_remoteDalamudAssetVersion));
file.open(QIODevice::WriteOnly | QIODevice::Text);
file.write(QString::number(m_remoteDalamudAssetVersion).toUtf8());
file.close();
co_return true; co_return true;
} }
@ -387,10 +375,7 @@ QCoro::Task<bool> AssetUpdater::installRuntime()
co_return false; co_return false;
} else { } else {
QFile file(m_dalamudRuntimeDir.absoluteFilePath(QStringLiteral("runtime.ver"))); Utility::writeVersion(m_dalamudRuntimeDir.absoluteFilePath(QStringLiteral("runtime.ver")), m_remoteRuntimeVersion);
file.open(QIODevice::WriteOnly | QIODevice::Text);
file.write(m_remoteRuntimeVersion.toUtf8());
file.close();
co_return true; co_return true;
} }

View file

@ -200,10 +200,7 @@ void Patcher::processPatch(const QueuedPatch &patch)
} }
} }
QFile verFile(verFilePath); Utility::writeVersion(verFilePath, patch.version);
verFile.open(QIODevice::WriteOnly | QIODevice::Text);
verFile.write(patch.version.toUtf8());
verFile.close();
} }
void Patcher::setupDirectories() void Patcher::setupDirectories()

View file

@ -12,6 +12,7 @@
#include "astra_log.h" #include "astra_log.h"
#include "launchercore.h" #include "launchercore.h"
#include "profileconfig.h" #include "profileconfig.h"
#include "utility.h"
using namespace Qt::StringLiterals; using namespace Qt::StringLiterals;
@ -35,10 +36,7 @@ void Profile::readDalamudInfo()
if (wineDir.exists()) { if (wineDir.exists()) {
const QString wineVer = wineDir.absoluteFilePath(QStringLiteral("wine.ver")); const QString wineVer = wineDir.absoluteFilePath(QStringLiteral("wine.ver"));
if (QFile::exists(wineVer)) { if (QFile::exists(wineVer)) {
QFile wineJson(wineVer); m_compatibilityToolVersion = Utility::readVersion(wineVer);
wineJson.open(QFile::ReadOnly | QFile::Text);
m_compatibilityToolVersion = QString::fromUtf8(wineJson.readAll());
qInfo(ASTRA_LOG) << "Compatibility tool version:" << m_compatibilityToolVersion; qInfo(ASTRA_LOG) << "Compatibility tool version:" << m_compatibilityToolVersion;
} }
} }
@ -69,19 +67,13 @@ void Profile::readDalamudInfo()
const QString dalamudAssetsVer = dalamudAssetsDir.absoluteFilePath(QStringLiteral("asset.ver")); const QString dalamudAssetsVer = dalamudAssetsDir.absoluteFilePath(QStringLiteral("asset.ver"));
if (QFile::exists(dalamudAssetsVer)) { if (QFile::exists(dalamudAssetsVer)) {
QFile assetJson(dalamudAssetsVer); m_dalamudAssetVersion = Utility::readVersion(dalamudAssetsVer).toInt();
assetJson.open(QFile::ReadOnly | QFile::Text);
m_dalamudAssetVersion = QString::fromUtf8(assetJson.readAll()).toInt();
qInfo(ASTRA_LOG) << "Dalamud asset version:" << m_dalamudVersion; qInfo(ASTRA_LOG) << "Dalamud asset version:" << m_dalamudVersion;
} }
const QString dalamudRuntimeVer = dalamudRuntimeDir.absoluteFilePath(QStringLiteral("runtime.ver")); const QString dalamudRuntimeVer = dalamudRuntimeDir.absoluteFilePath(QStringLiteral("runtime.ver"));
if (QFile::exists(dalamudRuntimeVer)) { if (QFile::exists(dalamudRuntimeVer)) {
QFile runtimeVer(dalamudRuntimeVer); m_runtimeVersion = Utility::readVersion(dalamudRuntimeVer);
runtimeVer.open(QFile::ReadOnly | QFile::Text);
m_runtimeVersion = QString::fromUtf8(runtimeVer.readAll());
qInfo(ASTRA_LOG) << "Dalamud runtime version:" << m_dalamudVersion; qInfo(ASTRA_LOG) << "Dalamud runtime version:" << m_dalamudVersion;
} }
} }

View file

@ -45,4 +45,20 @@ void Utility::setSSL(QNetworkRequest &request)
config.setPeerVerifyMode(QSslSocket::VerifyNone); config.setPeerVerifyMode(QSslSocket::VerifyNone);
request.setSslConfiguration(config); request.setSslConfiguration(config);
}
QString Utility::readVersion(const QString &path)
{
QFile file(path);
file.open(QFile::ReadOnly | QFile::Text);
return QString::fromUtf8(file.readAll());
}
void Utility::writeVersion(const QString &path, const QString &version)
{
QFile verFile(path);
verFile.open(QIODevice::WriteOnly | QIODevice::Text);
verFile.write(version.toUtf8());
verFile.close();
} }