diff --git a/src/externalextractor.cpp b/src/externalextractor.cpp --- a/src/externalextractor.cpp +++ b/src/externalextractor.cpp @@ -62,10 +62,10 @@ d->path = pluginPath; QDir pluginDir(pluginPath); - QStringList pluginDirContents = pluginDir.entryList(); + QStringList pluginDirContents = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot); if (!pluginDirContents.contains(QStringLiteral("manifest.json"))) { - qCDebug(KFILEMETADATA_LOG) << "Path does not seem to contain a valid plugin"; + qCDebug(KFILEMETADATA_LOG) << pluginPath << "does not seem to contain a valid plugin"; return; } @@ -117,15 +117,23 @@ QProcess extractorProcess; extractorProcess.start(d->mainPath, QStringList(), QIODevice::ReadWrite); + bool started = extractorProcess.waitForStarted(); + if (!started) { + qCWarning(KFILEMETADATA_LOG) << "External extractor" << d->mainPath + << "failed to start:" << extractorProcess.errorString(); + return; + } + extractorProcess.write(writeData.toJson()); extractorProcess.closeWriteChannel(); extractorProcess.waitForFinished(EXTRACTOR_TIMEOUT_MS); output = extractorProcess.readAll(); errorOutput = extractorProcess.readAllStandardError(); if (extractorProcess.exitStatus()) { - qCDebug(KFILEMETADATA_LOG) << errorOutput; + qCWarning(KFILEMETADATA_LOG) << "External extractor" << d->mainPath + << "failed to index" << result->inputUrl() << "-" << errorOutput; return; }