Browse Source

- Make sure RSS Feed downloader does not process already-read articles

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
53171c81e1
  1. 10
      src/rss.cpp

10
src/rss.cpp

@ -561,11 +561,15 @@ short RssStream::readDoc(const QDomDocument& doc) { @@ -561,11 +561,15 @@ short RssStream::readDoc(const QDomDocument& doc) {
image = property.text();
else if(property.tagName() == "item") {
RssItem * item = new RssItem(this, property);
if(item->isValid() && !itemAlreadyExists(item->getTitle())) {
if(item->isValid()) {
bool already_exists = itemAlreadyExists(item->getTitle());
if(!already_exists) {
(*this)[item->getTitle()] = item;
}
if(item->has_attachment()) {
has_attachments = true;
// Check if the item should be automatically downloaded
if(!already_exists || !(*this)[item->getTitle()]->isRead()) {
FeedFilter * matching_filter = FeedFilters::getFeedFilters(url).matches(item->getTitle());
if(matching_filter != 0) {
// Download the torrent
@ -581,11 +585,13 @@ short RssStream::readDoc(const QDomDocument& doc) { @@ -581,11 +585,13 @@ short RssStream::readDoc(const QDomDocument& doc) {
BTSession->downloadUrlAndSkipDialog(item->getTorrentUrl());
}
// Item was downloaded, consider it as Read
item->setRead();
(*this)[item->getTitle()]->setRead();
// Clean up
delete matching_filter;
}
}
}
} else {
delete item;
}

Loading…
Cancel
Save