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
@ -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…
x
Reference in New Issue
Block a user