Change the type of path passed to DataBaseManagement::updateToCurrentVersion

This commit is contained in:
Luis Ángel San Martín 2025-03-29 13:29:09 +01:00
parent d4b7c6dd8a
commit b0d2d05bc9
4 changed files with 19 additions and 18 deletions

View File

@ -853,7 +853,7 @@ int DataBaseManagement::compareVersions(const QString &v1, const QString v2)
return 0; return 0;
} }
bool DataBaseManagement::updateToCurrentVersion(const QString &libraryDataPath) bool DataBaseManagement::updateToCurrentVersion(const QString &libraryPath)
{ {
bool pre7 = false; bool pre7 = false;
bool pre7_1 = false; bool pre7_1 = false;
@ -863,28 +863,28 @@ bool DataBaseManagement::updateToCurrentVersion(const QString &libraryDataPath)
bool pre9_13 = false; bool pre9_13 = false;
bool pre9_14 = false; bool pre9_14 = false;
QString fullPath = libraryDataPath + "/library.ydb"; QString libraryDatabasePath = LibraryPaths::libraryDatabasePath(libraryPath);
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "7.0.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "7.0.0") < 0)
pre7 = true; pre7 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "7.0.3") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "7.0.3") < 0)
pre7_1 = true; pre7_1 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "8.0.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "8.0.0") < 0)
pre8 = true; pre8 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.5.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "9.5.0") < 0)
pre9_5 = true; pre9_5 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.8.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "9.8.0") < 0)
pre9_8 = true; pre9_8 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.13.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "9.13.0") < 0)
pre9_13 = true; pre9_13 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.14.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(libraryDatabasePath), "9.14.0") < 0)
pre9_14 = true; pre9_14 = true;
QString connectionName = ""; QString connectionName = "";
bool returnValue = true; bool returnValue = true;
{ {
QSqlDatabase db = loadDatabaseFromFile(fullPath); QSqlDatabase db = loadDatabaseFromFile(libraryDatabasePath);
if (db.isValid() && db.isOpen()) { if (db.isValid() && db.isOpen()) {
if (pre7) // TODO: execute only if previous version was < 7.0 if (pre7) // TODO: execute only if previous version was < 7.0
{ {
@ -968,7 +968,8 @@ bool DataBaseManagement::updateToCurrentVersion(const QString &libraryDataPath)
QImageReader thumbnail; QImageReader thumbnail;
while (selectQuery.next()) { while (selectQuery.next()) {
thumbnail.setFileName(libraryDataPath % "/covers/" % selectQuery.value(1).toString() % ".jpg"); auto coverPath = LibraryPaths::coverPath(libraryPath, selectQuery.value(1).toString());
thumbnail.setFileName(coverPath);
float coverSizeRatio = static_cast<float>(thumbnail.size().width()) / thumbnail.size().height(); float coverSizeRatio = static_cast<float>(thumbnail.size().width()) / thumbnail.size().height();
updateCoverInfo.bindValue(":coverSizeRatio", coverSizeRatio); updateCoverInfo.bindValue(":coverSizeRatio", coverSizeRatio);

View File

@ -57,7 +57,7 @@ public:
static QString checkValidDB(const QString &fullPath); // retorna "" si la DB es inválida ó la versión si es válida. static QString checkValidDB(const QString &fullPath); // retorna "" si la DB es inválida ó la versión si es válida.
static int compareVersions(const QString &v1, const QString v2); // retorna <0 si v1 < v2, 0 si v1 = v2 y >0 si v1 > v2 static int compareVersions(const QString &v1, const QString v2); // retorna <0 si v1 < v2, 0 si v1 = v2 y >0 si v1 > v2
static bool updateToCurrentVersion(const QString &path); static bool updateToCurrentVersion(const QString &libraryPath);
}; };
#endif #endif

View File

@ -831,8 +831,8 @@ void LibraryWindow::loadLibrary(const QString &name)
importWidget->setUpgradeLook(); importWidget->setUpgradeLook();
showImportingWidget(); showImportingWidget();
upgradeLibraryFuture = std::async(std::launch::async, [this, name, path] { upgradeLibraryFuture = std::async(std::launch::async, [this, name, path, rootPath] {
bool updated = DataBaseManagement::updateToCurrentVersion(path); bool updated = DataBaseManagement::updateToCurrentVersion(rootPath);
if (!updated) if (!updated)
emit errorUpgradingLibrary(path); emit errorUpgradingLibrary(path);

View File

@ -14,9 +14,9 @@ void LibrariesUpdater::updateIfNeeded()
libraries.load(); libraries.load();
foreach (QString name, libraries.getNames()) { foreach (QString name, libraries.getNames()) {
QString root = libraries.getPath(name); QString libraryPath = libraries.getPath(name);
QString libraryDataPath = YACReader::LibraryPaths::libraryDataPath(root); QString libraryDataPath = YACReader::LibraryPaths::libraryDataPath(libraryPath);
QString databasePath = YACReader::LibraryPaths::libraryDatabasePath(root); QString databasePath = YACReader::LibraryPaths::libraryDatabasePath(libraryPath);
QDir d; QDir d;
@ -25,7 +25,7 @@ void LibrariesUpdater::updateIfNeeded()
int comparation = DataBaseManagement::compareVersions(dbVersion, DB_VERSION); int comparation = DataBaseManagement::compareVersions(dbVersion, DB_VERSION);
if (comparation < 0) { if (comparation < 0) {
bool updated = DataBaseManagement::updateToCurrentVersion(libraryDataPath); bool updated = DataBaseManagement::updateToCurrentVersion(libraryPath);
if (!updated) { if (!updated) {
// TODO log error // TODO log error
} }