mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
unwanted entries are already filtered at the dao level
This commit is contained in:
@@ -1,17 +1,13 @@
|
|||||||
package com.commafeed.backend.feed;
|
package com.commafeed.backend.feed;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.jsoup.Jsoup;
|
import org.jsoup.Jsoup;
|
||||||
import org.jsoup.nodes.Document;
|
import org.jsoup.nodes.Document;
|
||||||
import org.jsoup.nodes.Element;
|
import org.jsoup.nodes.Element;
|
||||||
import org.jsoup.select.Elements;
|
import org.jsoup.select.Elements;
|
||||||
|
|
||||||
import com.commafeed.backend.feed.FeedEntryKeyword.Mode;
|
|
||||||
import com.commafeed.backend.feed.parser.TextDirectionDetector;
|
import com.commafeed.backend.feed.parser.TextDirectionDetector;
|
||||||
import com.commafeed.backend.model.FeedSubscription;
|
import com.commafeed.backend.model.FeedSubscription;
|
||||||
import com.commafeed.frontend.model.Entry;
|
|
||||||
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -72,25 +68,4 @@ public class FeedUtils {
|
|||||||
return "rest/server/proxy?u=" + ImageProxyUrl.encode(url);
|
return "rest/server/proxy?u=" + ImageProxyUrl.encode(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void removeUnwantedFromSearch(List<Entry> entries, List<FeedEntryKeyword> keywords) {
|
|
||||||
if (keywords.isEmpty()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
entries.removeIf(e -> {
|
|
||||||
String title = e.getTitle() == null ? null : Jsoup.parse(e.getTitle()).text();
|
|
||||||
String content = e.getContent() == null ? null : Jsoup.parse(e.getContent()).text();
|
|
||||||
for (FeedEntryKeyword keyword : keywords) {
|
|
||||||
boolean condition = !StringUtils.containsIgnoreCase(content, keyword.getKeyword())
|
|
||||||
&& !StringUtils.containsIgnoreCase(title, keyword.getKeyword());
|
|
||||||
if (keyword.getMode() == Mode.EXCLUDE) {
|
|
||||||
condition = !condition;
|
|
||||||
}
|
|
||||||
if (condition) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import com.commafeed.backend.dao.FeedCategoryDAO;
|
|||||||
import com.commafeed.backend.dao.FeedEntryStatusDAO;
|
import com.commafeed.backend.dao.FeedEntryStatusDAO;
|
||||||
import com.commafeed.backend.dao.FeedSubscriptionDAO;
|
import com.commafeed.backend.dao.FeedSubscriptionDAO;
|
||||||
import com.commafeed.backend.feed.FeedEntryKeyword;
|
import com.commafeed.backend.feed.FeedEntryKeyword;
|
||||||
import com.commafeed.backend.feed.FeedUtils;
|
|
||||||
import com.commafeed.backend.model.FeedCategory;
|
import com.commafeed.backend.model.FeedCategory;
|
||||||
import com.commafeed.backend.model.FeedEntryStatus;
|
import com.commafeed.backend.model.FeedEntryStatus;
|
||||||
import com.commafeed.backend.model.FeedSubscription;
|
import com.commafeed.backend.model.FeedSubscription;
|
||||||
@@ -184,7 +183,6 @@ public class CategoryREST {
|
|||||||
|
|
||||||
entries.setTimestamp(System.currentTimeMillis());
|
entries.setTimestamp(System.currentTimeMillis());
|
||||||
entries.setIgnoredReadStatus(STARRED.equals(id) || keywords != null || tag != null);
|
entries.setIgnoredReadStatus(STARRED.equals(id) || keywords != null || tag != null);
|
||||||
FeedUtils.removeUnwantedFromSearch(entries.getEntries(), entryKeywords);
|
|
||||||
return Response.ok(entries).build();
|
return Response.ok(entries).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ import com.commafeed.backend.feed.FeedEntryKeyword;
|
|||||||
import com.commafeed.backend.feed.FeedFetcher;
|
import com.commafeed.backend.feed.FeedFetcher;
|
||||||
import com.commafeed.backend.feed.FeedFetcher.FeedFetcherResult;
|
import com.commafeed.backend.feed.FeedFetcher.FeedFetcherResult;
|
||||||
import com.commafeed.backend.feed.FeedRefreshEngine;
|
import com.commafeed.backend.feed.FeedRefreshEngine;
|
||||||
import com.commafeed.backend.feed.FeedUtils;
|
|
||||||
import com.commafeed.backend.model.Feed;
|
import com.commafeed.backend.model.Feed;
|
||||||
import com.commafeed.backend.model.FeedCategory;
|
import com.commafeed.backend.model.FeedCategory;
|
||||||
import com.commafeed.backend.model.FeedEntry;
|
import com.commafeed.backend.model.FeedEntry;
|
||||||
@@ -190,7 +189,6 @@ public class FeedREST {
|
|||||||
|
|
||||||
entries.setTimestamp(System.currentTimeMillis());
|
entries.setTimestamp(System.currentTimeMillis());
|
||||||
entries.setIgnoredReadStatus(keywords != null);
|
entries.setIgnoredReadStatus(keywords != null);
|
||||||
FeedUtils.removeUnwantedFromSearch(entries.getEntries(), entryKeywords);
|
|
||||||
return Response.ok(entries).build();
|
return Response.ok(entries).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user