diff --git a/src/librssguard/core/feeddownloader.cpp b/src/librssguard/core/feeddownloader.cpp index 181d49fcc..caefdef2e 100644 --- a/src/librssguard/core/feeddownloader.cpp +++ b/src/librssguard/core/feeddownloader.cpp @@ -238,6 +238,28 @@ void FeedDownloader::updateOneFeed(ServiceRoot* acc, msg.sanitize(feed, fix_future_datetimes); } + if (!feed->addAnyDatetimeArticles()) { + QDateTime dt_to_avoid; + + if (feed->datetimeToAvoid().isValid()) { + dt_to_avoid = feed->datetimeToAvoid(); + } + else if (qApp->settings()->value(GROUP(Messages), SETTING(Messages::AvoidOldArticles)).toBool()) { + dt_to_avoid = qApp->settings()->value(GROUP(Messages), SETTING(Messages::DateTimeToAvoidArticle)).toDateTime(); + } + + if (dt_to_avoid.isValid()) { + for (int i = 0; i < msgs.size(); i++) { + const auto& mss = msgs.at(i); + + if (mss.m_createdFromFeed && mss.m_created < dt_to_avoid) { + qDebugNN << LOGSEC_CORE << "Removing message" << QUOTE_W_SPACE(mss.m_title) << "for being too old."; + msgs.removeAt(i--); + } + } + } + } + if (!feed->messageFilters().isEmpty()) { tmr.restart(); diff --git a/src/librssguard/services/standard/standardserviceroot.cpp b/src/librssguard/services/standard/standardserviceroot.cpp index 73f7b0312..bb1177070 100644 --- a/src/librssguard/services/standard/standardserviceroot.cpp +++ b/src/librssguard/services/standard/standardserviceroot.cpp @@ -256,27 +256,6 @@ QList StandardServiceRoot::obtainNewMessages(Feed* feed, mess.m_feedId = feed->customId(); } - if (!feed->addAnyDatetimeArticles()) { - QDateTime dt_to_avoid; - - if (feed->datetimeToAvoid().isValid()) { - dt_to_avoid = feed->datetimeToAvoid(); - } - else if (qApp->settings()->value(GROUP(Messages), SETTING(Messages::AvoidOldArticles)).toBool()) { - dt_to_avoid = qApp->settings()->value(GROUP(Messages), SETTING(Messages::DateTimeToAvoidArticle)).toDateTime(); - } - else { - return messages; - } - - for (int i = 0; i < messages.size(); i++) { - if (messages.at(i).m_createdFromFeed && messages.at(i).m_created < dt_to_avoid) { - qDebugNN << LOGSEC_CORE << "Removing message" << QUOTE_W_SPACE(messages.at(i).m_title) << "for being too old."; - messages.removeAt(i--); - } - } - } - return messages; }