X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fgraphs%2Ftools%2FdrawGraph.ml;h=c17902fbc551dd85e92f0a4a5315fee500d978f7;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=b7abfe901a25a0e6ebb530d90d3439375ea1b962;hpb=d97a5aeaed9e54e7a5c33570c3daaa0342979b66;p=helm.git diff --git a/helm/graphs/tools/drawGraph.ml b/helm/graphs/tools/drawGraph.ml index b7abfe901..c17902fbc 100644 --- a/helm/graphs/tools/drawGraph.ml +++ b/helm/graphs/tools/drawGraph.ml @@ -28,30 +28,17 @@ open Printf;; let debug = true;; let debug_print s = if debug then prerr_endline s;; +let configuration_file = "/projects/helm/etc/drawGraph.conf.xml";; + let daemon_name = "Draw Graph";; -let default_port = 48083;; -let default_dir = "/projects/helm/graphs/tools";; -let port_env_var = "DRAW_GRAPH_PORT";; -let dir_env_var = "DRAW_GRAPH_DIR";; let wget url fname = prerr_endline (sprintf "DEBUG: wgetting url '%s'" url); - let data = Http_client.Convenience.http_get url in let oc = open_out fname in - output_string oc data; + Http_user_agent.get_iter (output_string oc) url; close_out oc ;; -let port = - try - int_of_string (Sys.getenv port_env_var) - with - | Not_found -> default_port - | Failure "int_of_string" -> - prerr_endline "Warning: invalid port, reverting to default"; - default_port -in -let dir = try Sys.getenv dir_env_var with Not_found -> default_dir in let errmsg = sprintf " @@ -59,7 +46,7 @@ let errmsg = Graph: error -

Error occured while drawing graph!
Please report the occured problem

+

Error occurred while drawing graph!
Please report the occured problem

%s

" @@ -76,7 +63,7 @@ let callback (req: Http_types.request) outchan = let url = req#param "url" in let pid = Unix.getpid () in wget (sprintf "%s¶m.PID=%d" url pid) (sprintf "prova0.%d.dot" pid); - (match Unix.system (sprintf "make PID=%d > log.%d" pid pid) with + (match Unix.system (sprintf "make tmp PID=%d > log.%d" pid pid) with | Unix.WEXITED 0 -> debug_print "HTML successfully generated"; Http_daemon.respond_file (sprintf "prova.%d.html" pid) outchan @@ -93,17 +80,19 @@ let callback (req: Http_types.request) outchan = let pid = req#param "pid" in Http_daemon.respond_file (sprintf "prova.%s.gif" pid) outchan; ignore (Unix.system ( - sprintf "make PID=%s clean; rm -f prova0.%s.dot" pid pid)) + sprintf "make PID=%s clean_tmp; rm -f prova0.%s.dot" pid pid)) | invalid_request -> - Http_daemon.respond_error ~status:(`Client_error `Bad_request) outchan) + Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) + outchan) with | Http_types.Param_not_found attr_name -> - Http_daemon.respond_error - ~status:(`Client_error `Bad_request) + Http_daemon.respond_error ~code:(`Status (`Client_error `Bad_request)) ~body:(sprintf "Parameter '%s' is missing" attr_name) outchan in -Sys.chdir dir; +Helm_registry.load_from configuration_file; +let port = Helm_registry.get_int "draw_graph.port" in +Sys.chdir (Helm_registry.get "draw_graph.dir"); printf "%s started and listening on port %d\n" daemon_name port; printf "current directory is %s\n" (Sys.getcwd ()); flush stdout;