add setting to delete old entries

This commit is contained in:
Athou
2024-01-07 20:43:19 +01:00
parent 039e91414e
commit 1292018de0
13 changed files with 104 additions and 7 deletions

View File

@@ -1,10 +1,12 @@
package com.commafeed.backend.feed;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry;
@@ -47,12 +49,19 @@ public class FeedRefreshWorker {
feed.getLastPublishedDate(), feed.getLastContentHash());
// stops here if NotModifiedException or any other exception is thrown
Integer maxFeedCapacity = config.getApplicationSettings().getMaxFeedCapacity();
List<Entry> entries = result.feed().entries();
Integer maxFeedCapacity = config.getApplicationSettings().getMaxFeedCapacity();
if (maxFeedCapacity > 0) {
entries = entries.stream().limit(maxFeedCapacity).toList();
}
Integer maxEntriesAgeDays = config.getApplicationSettings().getMaxEntriesAgeDays();
if (maxEntriesAgeDays > 0) {
Date threshold = DateUtils.addDays(new Date(), -1 * maxEntriesAgeDays);
entries = entries.stream().filter(entry -> entry.updated().after(threshold)).toList();
}
String urlAfterRedirect = result.urlAfterRedirect();
if (StringUtils.equals(url, urlAfterRedirect)) {
urlAfterRedirect = null;