X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Finterface%2Fconfiguration.ml.in;h=d20a3c0c0e0cf872dcb42de6cd4ccdbacad15803;hb=4faf0e37e7019de16dd6862bb34d84f799a2a230;hp=df5f61b89099b15aca9a744b7ae2bfb28c050c35;hpb=dd2af791135cedf4e558ff8629ceca044a0d11d3;p=helm.git diff --git a/helm/interface/configuration.ml.in b/helm/interface/configuration.ml.in index df5f61b89..d20a3c0c0 100644 --- a/helm/interface/configuration.ml.in +++ b/helm/interface/configuration.ml.in @@ -9,6 +9,8 @@ (* *) (******************************************************************************) +exception MalformedDir of string + (* this should be the only hard coded constant *) let filename = let prefix = @@ -17,6 +19,8 @@ let filename = with Not_found -> "@HELM_CONFIGURATION_DIR@" in + if prefix.[(String.length prefix) - 1] = '/' then + raise (MalformedDir prefix) ; prefix ^ "/configuration.xml";; exception Warnings;; @@ -76,22 +80,38 @@ let _ = * configuration.xml file and its name into the shell environment. * The shell variable, if present, has precedence over configuration.xml *) -let read_configuration_var xml_name env_name = +let read_configuration_var_env xml_name env_name = try - Sys.getenv env_name + try + Sys.getenv env_name + with + Not_found -> Hashtbl.find vars xml_name with - Not_found -> Hashtbl.find vars xml_name + Not_found -> + Printf.printf "Sorry, cannot find variable `%s', please check your configuration\n" xml_name ; + flush stdout ; + raise Not_found -let helm_dir = Hashtbl.find vars "helm_dir";; -let dtd_dir = Hashtbl.find vars "dtd_dir";; -let style_dir = read_configuration_var "style_dir" "HELM_STYLE_DIR";; -let servers_file = Hashtbl.find vars "servers_file";; -let uris_dbm = Hashtbl.find vars "uris_dbm";; -let dest = Hashtbl.find vars "dest";; -let indexname = Hashtbl.find vars "indexname";; -let tmpdir = Hashtbl.find vars "tmpdir";; -let helm_dir = Hashtbl.find vars "helm_dir";; -let getter_url = Hashtbl.find vars "getter_url";; -let processor_url = read_configuration_var "processor_url" "HELM_PROCESSOR_URL" +let read_configuration_var xml_name = + try + Hashtbl.find vars xml_name + with + Not_found -> + Printf.printf "Sorry, cannot find variable `%s', please check your configuration\n" xml_name ; + flush stdout ; + raise Not_found + +let helm_dir = read_configuration_var "helm_dir";; +let dtd_dir = read_configuration_var "dtd_dir";; +let style_dir = read_configuration_var_env "style_dir" "HELM_STYLE_DIR";; +let servers_file = read_configuration_var "servers_file";; +let uris_dbm = read_configuration_var "uris_dbm";; +let dest = read_configuration_var "dest";; +let indexname = read_configuration_var "indexname";; +let tmp_dir = read_configuration_var "tmp_dir" +let helm_dir = read_configuration_var "helm_dir";; +let getter_url = read_configuration_var_env "getter_url" "HELM_GETTER_URL";; +let processor_url = read_configuration_var_env "processor_url" "HELM_PROCESSOR_URL";; let _ = Hashtbl.clear vars;; +