From: APTX Date: Sun, 4 Feb 2018 15:37:34 +0000 (+0900) Subject: Avoid hashing files that are already in unknown_files X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;h=6feccb3191ce3427a65cef014e499461f06904ef;p=localmylist.git Avoid hashing files that are already in unknown_files --- diff --git a/localmylist/addfiletask.cpp b/localmylist/addfiletask.cpp index 910d80e..50e41dc 100644 --- a/localmylist/addfiletask.cpp +++ b/localmylist/addfiletask.cpp @@ -51,6 +51,14 @@ void AddFileTask::start() hashingFinished(); return; } + + // Avoid hashing files that are already in unknown_files + const auto unknownFile = db->getUnknownFileByPath(m_file.canonicalFilePath()); + if (!unknownFile.isEmpty()) { + emit finished(); + return; + } + hashResult = Hash::instance()->hashFile(HashRequest(m_file)); connect(hashResult, SIGNAL(resultReady()), this, SLOT(hashingFinished())); #else diff --git a/localmylist/databaseclasses.cpp b/localmylist/databaseclasses.cpp index ff4005c..5ad845e 100644 --- a/localmylist/databaseclasses.cpp +++ b/localmylist/databaseclasses.cpp @@ -72,6 +72,11 @@ FileEpisodeRel::FileEpisodeRel() endPercent = 0; } +bool UnknownFile::isEmpty() const +{ + return ed2k.isEmpty() || !size; +} + UnknownFile::UnknownFile() { size = 0; diff --git a/localmylist/databaseclasses.h b/localmylist/databaseclasses.h index 75d6c09..cf81e0b 100644 --- a/localmylist/databaseclasses.h +++ b/localmylist/databaseclasses.h @@ -144,6 +144,8 @@ struct LOCALMYLISTSHARED_EXPORT UnknownFile int hostId; QString path; + bool isEmpty() const; + UnknownFile(); };