mirror of https://github.com/zlatinb/muwire
persist only as many items as configured to keep
parent
032338bb48
commit
28425e93dc
|
@ -130,10 +130,25 @@ class FeedManager {
|
||||||
if (set == null)
|
if (set == null)
|
||||||
return // can happen if nothing was published
|
return // can happen if nothing was published
|
||||||
|
|
||||||
File itemsFile = new File(itemsFolder, publisher.destination.toBase32() + ".json")
|
Feed feed = feeds[publisher]
|
||||||
|
if (feed == null) {
|
||||||
|
log.severe("Persisting items for non-existing feed " + publisher.getHumanReadableName())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
List<FeedItem> list = new ArrayList<>(set)
|
||||||
|
if (list.size() > feed.getItemsToKeep()) {
|
||||||
|
log.info("will persist ${feed.getItemsToKeep()}/${list.size()} items")
|
||||||
|
list.sort({l, r ->
|
||||||
|
Long.compare(r.getTimestamp(), l.getTimestamp())
|
||||||
|
} as Comparator<FeedItem>)
|
||||||
|
list = list[0..feed.getItemsToKeep()]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
File itemsFile = new File(itemsFolder, publisher.destination.toBase32() + ".json")
|
||||||
itemsFile.withPrintWriter { writer ->
|
itemsFile.withPrintWriter { writer ->
|
||||||
set.each { item ->
|
list.each { item ->
|
||||||
def obj = FeedItems.feedItemToObj(item)
|
def obj = FeedItems.feedItemToObj(item)
|
||||||
def json = JsonOutput.toJson(obj)
|
def json = JsonOutput.toJson(obj)
|
||||||
writer.println(json)
|
writer.println(json)
|
||||||
|
|
Loading…
Reference in New Issue