diff options
Diffstat (limited to 'src/ics.ml')
-rw-r--r-- | src/ics.ml | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -17,6 +17,8 @@ open CalendarLib +module StringSet = Set.Make (String) + let to_date = Printer.Calendar.sprint "%Y%m%dT%H%M%S" let current_date () = to_date @@ Calendar.now () @@ -61,6 +63,8 @@ module Event = struct let has_groups groups event = List.fold_left (fun found group -> found || List.exists ((=) group) groups) false event.groups + + let get_groups event = event.groups end type t = Event.t list @@ -80,6 +84,12 @@ let gen_vtimezone tz = else "" +let get_all_groups events = + let add_groups_to_set set event = + List.fold_left (fun set elt -> StringSet.add elt set) set @@ Event.get_groups event in + List.fold_left add_groups_to_set StringSet.empty events + |> StringSet.to_seq + let to_string tz events = let date = current_date () in let vtimezone = gen_vtimezone tz in |