From b7c827d572690dd3be9531e8d423e50abc70c595 Mon Sep 17 00:00:00 2001 From: sabine <6594573+sabine@users.noreply.github.com> Date: Sat, 21 Dec 2024 14:13:13 +0100 Subject: [PATCH] Revert "Strengthen feed filtering freshness (#2882)" This reverts commit aeeb412626ed84b94a3846f8239e647259b812f5. --- tool/ood-gen/lib/changelog.ml | 3 +-- tool/ood-gen/lib/news.ml | 3 +-- tool/ood-gen/lib/planet.ml | 4 +--- tool/ood-gen/lib/rss.ml | 12 +++++++++++- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/tool/ood-gen/lib/changelog.ml b/tool/ood-gen/lib/changelog.ml index 94786b0e15..8ae1409d8f 100644 --- a/tool/ood-gen/lib/changelog.ml +++ b/tool/ood-gen/lib/changelog.ml @@ -93,8 +93,7 @@ module ChangelogFeed = struct let create_feed () = let open Rss in () |> all - |> create_entries ~create_entry - |> Ocamlorg.Import.List.take 365 + |> create_entries ~create_entry ~days:365 |> entries_to_feed ~id:"changelog.xml" ~title:"OCaml Changelog" |> feed_to_string end diff --git a/tool/ood-gen/lib/news.ml b/tool/ood-gen/lib/news.ml index 4bc86c7219..9d4835e870 100644 --- a/tool/ood-gen/lib/news.ml +++ b/tool/ood-gen/lib/news.ml @@ -54,8 +54,7 @@ module RssFeed = struct let create_feed () = let open Rss in all () - |> create_entries ~create_entry - |> Ocamlorg.Import.List.take 90 + |> create_entries ~create_entry ~days:9000 (* FIXME *) |> entries_to_feed ~id:"news.xml" ~title:"OCaml News @ OCaml.org" |> feed_to_string end diff --git a/tool/ood-gen/lib/planet.ml b/tool/ood-gen/lib/planet.ml index f9a6f4cb8e..859535701a 100644 --- a/tool/ood-gen/lib/planet.ml +++ b/tool/ood-gen/lib/planet.ml @@ -148,9 +148,7 @@ module GlobalFeed = struct let create_feed () = let open Rss in - let entries = - all () |> create_entries ~create_entry |> Ocamlorg.Import.List.take 90 - in + let entries = all () |> create_entries ~create_entry ~days:90 in match create_events_announcement_entry () with | None -> diff --git a/tool/ood-gen/lib/rss.ml b/tool/ood-gen/lib/rss.ml index e70ac5def9..15eced58c3 100644 --- a/tool/ood-gen/lib/rss.ml +++ b/tool/ood-gen/lib/rss.ml @@ -1,4 +1,14 @@ -let create_entries ~create_entry = List.map create_entry +let create_entries ~create_entry ?days u = + let is_fresh = + let some days (entry : Syndic.Atom.entry) = + let now = Ptime.of_float_s (Unix.gettimeofday ()) |> Option.get in + let than = Ptime.sub_span now (Ptime.Span.v (days, 0L)) |> Option.get in + if Ptime.is_later entry.updated ~than then Some entry else None + in + Option.fold ~none:Option.some ~some days + in + let entries = u |> List.filter_map (fun x -> x |> create_entry |> is_fresh) in + entries let entries_to_feed ~id ~title (entries : Syndic.Atom.entry list) = let id = Uri.of_string ("https://ocaml.org/" ^ id) in