Files
ical2rem/bin/eventTransformer.ml
Paolo Donadeo fce66c5c78 refactor(predicates): return features instead of bool, add P00/P11 predicates
- Change predicate return type from `bool` to `features list option` to
  carry extracted event data (Summary, Day_start, Multi_day) alongside
  match results
- Add `features` type with Generic_feature_presence, Summary, Day_start,
  Multi_day variants
- Add P00 (has_summary) and P11 (override_events) predicates
- Remove large commented-out icalendar/ptime type definitions
- Refactor main.ml to group events by UID using a Map
- Add get_y_m_d_from_timedesc helper to Utils
2026-05-10 01:49:05 +02:00

22 lines
799 B
OCaml

let default_implementation = Remind.make_default_event "TODO: implement conversion"
let remind_of_event (ev : Icalendar.event) : Remind.event =
let found =
ListLabels.fold_left ~init:[] EventPredicates.all_predicates ~f:(fun acc (pred, desc) ->
match pred ev with
| Some feats -> (desc, feats) :: acc
| None -> acc)
|> List.rev
in
if List.length found > 0
then begin
Printf.printf " \u{f04d3} \u{21d2} matches these predicates:\n";
ListLabels.iter
~f:(fun (desc, features) ->
Printf.printf " - %s\n" (EventPredicates.show_event_description desc);
ListLabels.iter ~f:(fun feat -> Printf.printf " - %s\n" (EventPredicates.show_features feat)) features)
found;
Printf.printf "\n"
end;
default_implementation