make old article dropping work across all plugins, also syncable plugins would have to take this into account for more efficient way so that those article sare even not downloaded needlessly
This commit is contained in:
parent
166ffccf82
commit
73d28d23e2
2 changed files with 22 additions and 21 deletions
|
@ -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();
|
||||
|
||||
|
|
|
@ -256,27 +256,6 @@ QList<Message> 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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue