mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 06:05:38 +00:00
Added additional MD5 file hash logging to the scraper
This commit is contained in:
parent
40d27ff772
commit
d94cdb013f
|
@ -364,6 +364,7 @@ void GuiScraperSearch::search(ScraperSearchParams& params)
|
||||||
else
|
else
|
||||||
params.automaticMode = false;
|
params.automaticMode = false;
|
||||||
|
|
||||||
|
mMD5Hash = "";
|
||||||
params.md5Hash = "";
|
params.md5Hash = "";
|
||||||
if (!Utils::FileSystem::isDirectory(params.game->getPath()))
|
if (!Utils::FileSystem::isDirectory(params.game->getPath()))
|
||||||
params.fileSize = Utils::FileSystem::getFileSize(params.game->getPath());
|
params.fileSize = Utils::FileSystem::getFileSize(params.game->getPath());
|
||||||
|
@ -422,6 +423,9 @@ void GuiScraperSearch::onSearchDone(std::vector<ScraperSearchResult>& results)
|
||||||
"FINISH", mSkipCallback));
|
"FINISH", mSkipCallback));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
LOG(LogDebug)
|
||||||
|
<< "GuiScraperSearch::onSearchDone(): Scraper service did not return any results";
|
||||||
|
|
||||||
mFoundGame = false;
|
mFoundGame = false;
|
||||||
ComponentListRow row;
|
ComponentListRow row;
|
||||||
row.addElement(std::make_shared<TextComponent>("NO GAMES FOUND", font, color), true);
|
row.addElement(std::make_shared<TextComponent>("NO GAMES FOUND", font, color), true);
|
||||||
|
@ -443,6 +447,21 @@ void GuiScraperSearch::onSearchDone(std::vector<ScraperSearchResult>& results)
|
||||||
std::string gameName {results.at(i).mdl.get("name")};
|
std::string gameName {results.at(i).mdl.get("name")};
|
||||||
std::string otherPlatforms;
|
std::string otherPlatforms;
|
||||||
|
|
||||||
|
if (mMD5Hash != "" && results.size() == 1 && results[0].md5Hash != "") {
|
||||||
|
if (results[0].md5Hash == mMD5Hash) {
|
||||||
|
LOG(LogDebug) << "GuiScraperSearch::onSearchDone(): Perfect match, MD5 digest "
|
||||||
|
"in server response identical to file hash";
|
||||||
|
}
|
||||||
|
else if (results[0].md5Hash != "") {
|
||||||
|
LOG(LogDebug) << "GuiScraperSearch::onSearchDone(): Not a perfect match, MD5 "
|
||||||
|
"digest in server response not identical to file hash";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LOG(LogDebug) << "GuiScraperSearch::onSearchDone(): Server did not return an "
|
||||||
|
"MD5 digest, can't tell whether this is a perfect match";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// As the platform names are found via reverse lookup there could be multiple entries.
|
// As the platform names are found via reverse lookup there could be multiple entries.
|
||||||
// So if any of the entries match the platforms of the last search, then just keep
|
// So if any of the entries match the platforms of the last search, then just keep
|
||||||
// this platform ID and remove the other ones.
|
// this platform ID and remove the other ones.
|
||||||
|
@ -730,7 +749,6 @@ void GuiScraperSearch::update(int deltaTime)
|
||||||
mCalculateMD5HashThread.join();
|
mCalculateMD5HashThread.join();
|
||||||
mLastSearch.md5Hash = mMD5Hash;
|
mLastSearch.md5Hash = mMD5Hash;
|
||||||
mSearchHandle = startScraperSearch(mLastSearch);
|
mSearchHandle = startScraperSearch(mLastSearch);
|
||||||
mMD5Hash = "";
|
|
||||||
mNextSearch = false;
|
mNextSearch = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ struct ScraperSearchResult {
|
||||||
|
|
||||||
MetaDataList mdl;
|
MetaDataList mdl;
|
||||||
std::string gameID;
|
std::string gameID;
|
||||||
|
std::string md5Hash;
|
||||||
std::vector<PlatformIds::PlatformId> platformIDs;
|
std::vector<PlatformIds::PlatformId> platformIDs;
|
||||||
|
|
||||||
// How many more objects the scraper service allows to be downloaded
|
// How many more objects the scraper service allows to be downloaded
|
||||||
|
|
|
@ -373,6 +373,8 @@ void ScreenScraperRequest::processGame(const pugi::xml_document& xmldoc,
|
||||||
result.mdl.set("name", Utils::String::replace(gameName, "\n", ""));
|
result.mdl.set("name", Utils::String::replace(gameName, "\n", ""));
|
||||||
LOG(LogDebug) << "ScreenScraperRequest::processGame(): Name: " << result.mdl.get("name");
|
LOG(LogDebug) << "ScreenScraperRequest::processGame(): Name: " << result.mdl.get("name");
|
||||||
|
|
||||||
|
LOG(LogDebug) << "ScreenScraperRequest::processGame(): Game ID: " << result.gameID;
|
||||||
|
|
||||||
// Validate rating.
|
// Validate rating.
|
||||||
// Process the rating even if the setting to scrape ratings has been disabled.
|
// Process the rating even if the setting to scrape ratings has been disabled.
|
||||||
// This is required so that the rating can still be shown in the scraper GUI.
|
// This is required so that the rating can still be shown in the scraper GUI.
|
||||||
|
@ -567,6 +569,9 @@ void ScreenScraperRequest::processGame(const pugi::xml_document& xmldoc,
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
const pugi::xml_node rom {game.child("rom")};
|
||||||
|
result.md5Hash = Utils::String::toLower(rom.child("rommd5").text().as_string());
|
||||||
|
|
||||||
// Media super-node.
|
// Media super-node.
|
||||||
pugi::xml_node media_list {game.child("medias")};
|
pugi::xml_node media_list {game.child("medias")};
|
||||||
bool regionFallback {false};
|
bool regionFallback {false};
|
||||||
|
|
Loading…
Reference in a new issue