]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_cache/cicCache.ml
removed dependency on netclient, use http_client module from ocaml-http
[helm.git] / helm / ocaml / cic_cache / cicCache.ml
index adfeb0575dcbe909d75895eb6e957ee3d7221726..394f9db77bcc158d467fd8db7fa4e86d40bb49d4 100644 (file)
@@ -39,12 +39,34 @@ let get_annobj uri =
  let module G = Getter in
  let module U = UriManager in
   let cicfilename = G.getxml (U.cicuri_of_uri uri) in
-   CicParser.annobj_of_xml cicfilename uri
+   match (U.bodyuri_of_uri uri) with
+      None ->
+        let annobj = CicParser.annobj_of_xml cicfilename None in
+         Unix.unlink cicfilename ;
+         annobj
+    | Some bodyuri ->
+       let cicbodyfilename = G.getxml (U.cicuri_of_uri bodyuri) in
+        let annobj =
+         CicParser.annobj_of_xml cicfilename (Some cicbodyfilename)
+        in
+         Unix.unlink cicfilename ;
+         Unix.unlink cicbodyfilename ;
+         annobj
 ;;
 
 let get_obj uri =
  let module G = Getter in
  let module U = UriManager in
   let cicfilename = G.getxml (U.cicuri_of_uri uri) in
-   CicParser.obj_of_xml cicfilename uri
+   match (U.bodyuri_of_uri uri) with
+      None ->
+        let obj = CicParser.obj_of_xml cicfilename None in
+         Unix.unlink cicfilename ;
+         obj
+    | Some bodyuri ->
+       let cicbodyfilename = G.getxml (U.cicuri_of_uri bodyuri) in
+       let obj = CicParser.obj_of_xml cicfilename (Some cicbodyfilename) in
+        Unix.unlink cicfilename ;
+        Unix.unlink cicbodyfilename ;
+        obj
 ;;