package ocsipersist-sqlite-config

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file ocsipersist_config.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
let parse_global_config = function
  | [] -> None
  | [Xml.Element ("database", [("file", s)], [])] -> Some s
  | _ ->
      raise
        (Ocsigen.Extensions.Error_in_config_file
           "Unexpected content inside Ocsipersist config")

let init config =
  Ocsipersist_settings.db_file := Ocsigen.Config.get_datadir () ^ "/ocsidb";
  (match parse_global_config config with
  | None -> ()
  | Some d -> Ocsipersist_settings.db_file := d);
  try Ocsipersist.init ()
  with e ->
    Ocsigen.Messages.errlog
      (Printf.sprintf
         "Error opening database file '%s' when registering Ocsipersist. Check that the directory exists, and that Ocsigen has enough rights"
         !Ocsipersist_settings.db_file);
    raise e

let () = Ocsigen.Extensions.register ~name:"ocsipersist" ~init_fun:init ()