filesaver: count logic was wrong if --continue wasn't given
This commit is contained in:
orang tua
e12d208b5f
melakukan
f97ba49b91
@ -72,7 +72,7 @@ int FileSaver::updateFiles(const QVector<QString> paths, bool keepGoing, bool ve
|
||||
int FileSaver::processFiles(const QVector<QString> paths, std::function<SaveFileResult(QString path)> saverFunc, bool keepGoing, bool verbose)
|
||||
{
|
||||
std::atomic<bool> terminate { false };
|
||||
std::atomic<int> errorsCount { 0 };
|
||||
std::atomic<int> processedCount { 0 };
|
||||
QtConcurrent::blockingMap(paths, [&](const QString &path) {
|
||||
if(terminate.load())
|
||||
{
|
||||
@ -85,13 +85,15 @@ int FileSaver::processFiles(const QVector<QString> paths, std::function<SaveFile
|
||||
SaveFileResult result = saverFunc(path);
|
||||
if(result == DBFAIL || result == PROCESSFAIL)
|
||||
{
|
||||
errorsCount++;
|
||||
Logger::error() << "Failed to process " << path << endl;
|
||||
if(!keepGoing)
|
||||
{
|
||||
terminate = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
++processedCount;
|
||||
if(verbose)
|
||||
{
|
||||
if(result == SKIPPED)
|
||||
@ -103,8 +105,10 @@ int FileSaver::processFiles(const QVector<QString> paths, std::function<SaveFile
|
||||
Logger::info() << "Added" << path << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
return paths.size() - errorsCount.load();
|
||||
return processedCount.load();
|
||||
}
|
||||
|
||||
|
||||
|
Memuat…
Reference in New Issue
Block a user