Radish alpha
r
rad:zwTxygwuz5LDGBq255RA2CbNGrz8
Radicle CI broker
Radicle
Git
feat: RSS feeds now only contain up to ten entries
Lars Wirzenius committed 1 year ago
commit 4f981273229c641a43817aa6534585b0e2fec686
parent 746445c
1 file changed +8 -1
modified src/pages.rs
@@ -38,6 +38,7 @@ use crate::{
    util::{parse_timestamp, rfc822_timestamp},
};

+
const MAX_RSS_ENTRIES: usize = 10;
const BROKER_RSS: &str = "index.rss";
const FAILURE_RSS: &str = "failed.rss";
const UNFINISHED_RSS: &str = "unfinished.rss";
@@ -604,11 +605,17 @@ impl PageData {
            .title("Radicle CI broker run information")
            .description("All CI runs known to this instance of the Radicle CI broker.")
            .link("FIXME:link");
+
        let mut items = vec![];
        for (_alias, repo_id) in self.repos() {
            for run in self.runs(repo_id) {
-
                channel.item(Self::rss_item_from_run(run)?);
+
                items.push(Self::rss_item_from_run(run)?);
            }
        }
+
        items.sort_by_key(|item| item.pub_date().map(|s| s.to_string()));
+
        items.reverse();
+
        for item in items.iter().take(MAX_RSS_ENTRIES).cloned() {
+
            channel.item(item);
+
        }
        Ok(channel.build())
    }