]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/getter/http_getter.ml
Added universes handling. The PRE_UNIVERSES tag may help ;)
[helm.git] / helm / ocaml / getter / http_getter.ml
index 35a19db82bb4f5fc06afe990421085d09e147e81..539fa90a700570b6be85179b8e42513c903c5e8e 100644 (file)
@@ -77,7 +77,7 @@ let map_of_uri = function
   | uri when is_nuprl_uri uri -> Lazy.force nuprl_map
   | uri when is_rdf_uri uri -> Lazy.force rdf_map
   | uri when is_xsl_uri uri -> Lazy.force xsl_map
-  | uri -> raise (Unresolvable_URI uri)
+  | uri -> prerr_endline "BBBBB";raise (Unresolvable_URI uri)
 
 let update_from_server logger server_url = (* use global maps *)
   Http_getter_logger.log ("Updating information from " ^ server_url);
@@ -230,11 +230,17 @@ let resolve_remote uri =
           res := Exception (Unresolvable_URI uri)
       | Pxp_types.E_start_tag ("not_found",[],_,_) ->
           res := Exception (Key_not_found uri)
-      | Pxp_types.E_start_tag _ -> res := Exception UnexpectedGetterOutput
+      | Pxp_types.E_start_tag (x,_,_,_) -> 
+         prerr_endline ("UnexpectedGetterOutput: "^x);
+         res := Exception UnexpectedGetterOutput
       | _ -> ());
    match !res with
-   | Unknown -> raise UnexpectedGetterOutput
-   | Exception e -> raise e
+   | Unknown -> 
+       prerr_endline ("UnexpectedGetterOutput: Unknown!");
+       raise UnexpectedGetterOutput
+   | Exception e -> 
+       prerr_endline ("Exception   : ??????");
+       raise e
    | Resolved url -> url
 
 let register_remote ~uri ~url =
@@ -263,8 +269,17 @@ let resolve uri =
   if remote () then
     resolve_remote uri
   else
-    (map_of_uri uri)#resolve uri
-
+    
+    (**** FIXME ******)
+    if is_cic_uri uri && Pcre.pmatch ~pat:"\\.univ$" uri then
+      begin
+       prerr_endline "!!! E' in ~tassi !!!";
+       "file:///home/tassi/mylib" ^ 
+       (String.sub uri 4 ((String.length uri) - 4)) ^ ".xml.gz"
+      end
+    else
+      (map_of_uri uri)#resolve uri
+       
 let register ~uri ~url =
   if remote () then
     register_remote ~uri ~url
@@ -287,7 +302,9 @@ let getxml ?(format = `Normal) ?(patch_dtd = true) uri =
   if remote () then
     getxml_remote ~format ~patch_dtd uri
   else begin
+Http_getter_logger.log ("GETXML: " ^ uri);
     let url = resolve uri in
+Http_getter_logger.log ("RESOLVED_URI: " ^ url) ;
     let (fname, outchan) = temp_file_of_uri uri in
     Http_getter_cache.respond_xml ~via_http:false ~enc:format ~patch:patch_dtd
       ~uri ~url outchan;
@@ -299,6 +316,7 @@ let getxslt ?(patch_dtd = true) uri =
   if remote () then
     getxslt_remote ~patch_dtd uri
   else begin
+    
     let url = resolve uri in
     let (fname, outchan) = temp_file_of_uri uri in
     Http_getter_cache.respond_xsl ~via_http:false ~url ~patch:patch_dtd outchan;