- | [`Int version; `String url; _; `String title;
- `Timestamp last_modified_date; logged_ip] ->
- let date = printable_date_time last_modified_date in
- let has_logged_ip, logged_ip =
- match logged_ip with
- `Null -> false, ""
- | `String ip -> true, ip
- | _ -> assert false in
- [ "version", Template.VarString (string_of_int version);
- "url", Template.VarString url;
- "title", Template.VarString title;
- "last_modified_date", Template.VarString date;
- "has_logged_ip", Template.VarConditional has_logged_ip;
- "logged_ip", Template.VarString logged_ip;
- "is_live", Template.VarConditional true ]
- | [`Int version; `Null; `String url; `String title;
- `Timestamp last_modified_date; logged_ip] ->
- let date = printable_date_time last_modified_date in
- let has_logged_ip, logged_ip =
- match logged_ip with
- `Null -> false, ""
- | `String ip -> true, ip
- | _ -> assert false in
- [ "version", Template.VarString (string_of_int version);
- "url", Template.VarString url;
- "title", Template.VarString title;
- "last_modified_date", Template.VarString date;
- "has_logged_ip", Template.VarConditional has_logged_ip;
- "logged_ip", Template.VarString logged_ip;
- "is_live", Template.VarConditional false ]
- | _ -> assert false) in
+ | (Some version, Some url, _, Some title,
+ Some last_modified_date, logged_ip, logged_user) ->
+ let date = printable_date_time last_modified_date in
+ let has_logged_ip, logged_ip =
+ match logged_ip with
+ None -> false, ""
+ | Some ip -> true, ip in
+ let has_logged_user, logged_user =
+ match logged_user with
+ None -> false, ""
+ | Some name -> true, name in
+ [ "version", Template.VarString (Int32.to_string version);
+ "url", Template.VarString url;
+ "title", Template.VarString title;
+ "last_modified_date", Template.VarString date;
+ "has_logged_ip", Template.VarConditional has_logged_ip;
+ "logged_ip", Template.VarString logged_ip;
+ "has_logged_user", Template.VarConditional has_logged_user;
+ "logged_user", Template.VarString logged_user;
+ "is_live", Template.VarConditional true ]
+ | (Some version, None, Some url, Some title,
+ Some last_modified_date, logged_ip, logged_user) ->
+ let date = printable_date_time last_modified_date in
+ let has_logged_ip, logged_ip =
+ match logged_ip with
+ None -> false, ""
+ | Some ip -> true, ip in
+ let has_logged_user, logged_user =
+ match logged_user with
+ None -> false, ""
+ | Some name -> true, name in
+ [ "version", Template.VarString (Int32.to_string version);
+ "url", Template.VarString url;
+ "title", Template.VarString title;
+ "last_modified_date", Template.VarString date;
+ "has_logged_ip", Template.VarConditional has_logged_ip;
+ "logged_ip", Template.VarString logged_ip;
+ "has_logged_user", Template.VarConditional has_logged_user;
+ "logged_user", Template.VarString logged_user;
+ "is_live", Template.VarConditional false ]
+ | _ -> assert false) rows in