diff options
| -rw-r--r-- | src/course.ml | 4 | ||||
| -rw-r--r-- | src/ics.ml | 14 | ||||
| -rw-r--r-- | src/ics.mli | 3 | 
3 files changed, 14 insertions, 7 deletions
| diff --git a/src/course.ml b/src/course.ml index 5ce2564..566ee0d 100644 --- a/src/course.ml +++ b/src/course.ml @@ -57,8 +57,8 @@ let loc_and_sum_to_groups = function    | Groups groups | Summary (groups, _) | Location (groups, _, _) -> groups  let loc_and_sum_to_location = function -  | Nothing | Groups _ | Summary _ -> "" -  | Location (_, _, location) -> location +  | Nothing | Groups _ | Summary _ -> None +  | Location (_, _, location) -> Some location  let loc_and_sum_to_summary category = function    | Nothing | Groups _ -> category @@ -42,7 +42,7 @@ module Event = struct        start: Calendar.t;        stop: Calendar.t;        summary: string; -      location: string; +      location: string option;        groups: string list;      } @@ -50,14 +50,20 @@ module Event = struct      {start; stop; summary; location; groups}    let to_string date event id = +    let summary, location = match event.location with +      | None -> "[PAS DE SALLE] " ^ event.summary, "" +      | Some location -> event.summary, location in +    let attendees = +      List.map (fun group -> "ATTENDEE:" ^ group) event.groups +      |> String.concat "\r\n" in      ["BEGIN:VEVENT";       "UID:" ^ date ^ "." ^ (string_of_int id) ^ "@ucs.pa1ch.fr";       "DTSTART:" ^ to_date event.start;       "DTEND:" ^ to_date event.stop;       "DTSTAMP:" ^ date; -     "SUMMARY:" ^ event.summary; -     "COMMENT:" ^ String.concat ", " event.groups; -     "LOCATION:" ^ event.location; +     "SUMMARY:" ^ summary; +     attendees; +     "LOCATION:" ^ location;       "END:VEVENT\r\n"]      |> List.map ics_split_line      |> String.concat "\r\n" diff --git a/src/ics.mli b/src/ics.mli index f56a1a4..c2db3a2 100644 --- a/src/ics.mli +++ b/src/ics.mli @@ -19,7 +19,8 @@ module Event : sig    type t    val make : CalendarLib.Calendar.t -> CalendarLib.Calendar.t -> -             string -> string -> string list -> t +             string -> string option -> string list -> t +    val to_string : string -> t -> int -> string  end | 
