[GanameDemo: added a demo page flux@modeemi.fi**20090924194640] { hunk ./_tags 3 +: pkg_netcgi2, pkg_netstring + addfile ./ganameDemo.ml hunk ./ganameDemo.ml 1 +open ExtString + +let quote = Netencoding.Html.encode_from_latin1 + +let page (cgi : Netcgi.cgi) = + cgi#set_header + ~cache:`No_cache + ~content_type:"text/html; charset=iso-8859-15" + (); + let o s = Printf.ksprintf cgi#out_channel#output_string s in + try + let examples = List.map (fun s -> String.split s "=") (String.nsplit (cgi#argument "examples")#value ",") in + let inputs = String.nsplit (cgi#argument "input")#value "," in + o "
";
+	let mapping = Genome.generate_mapping ~output:cgi#out_channel#output_string examples inputs in
+	  o "
"; + ( match mapping with + | None -> o "

Cannot produce mapping

" + | Some mapping -> + o "Mapping:"; + o ""; + List.iter (fun (s1, s2) -> o "" (quote s1) (quote s2)) mapping; + o "
%s%s
"; + + ); + o ""; + cgi#out_channel#commit_work () + with exn -> + o "Error: %s" (Printexc.to_string exn); + cgi#out_channel#commit_work () + +let main () = Netcgi_scgi.run ~port:4243 page + +let _ = main () }