X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_cache%2FcicCache.ml;h=b4ae4fbec3261fe31109778e2896f17fe10fc77f;hb=3bb4ce11fb9d4c6375483a80344beb94c4517dd7;hp=adfeb0575dcbe909d75895eb6e957ee3d7221726;hpb=ae326f646ef4c01b43d6da04201b427d1e175400;p=helm.git diff --git a/helm/ocaml/cic_cache/cicCache.ml b/helm/ocaml/cic_cache/cicCache.ml index adfeb0575..b4ae4fbec 100644 --- a/helm/ocaml/cic_cache/cicCache.ml +++ b/helm/ocaml/cic_cache/cicCache.ml @@ -36,15 +36,52 @@ (******************************************************************************) 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 + let cicfilename = Http_getter.getxml' (U.cicuri_of_uri uri) in + 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 = + try + ignore (Http_getter.resolve' bodyuri) ; + (* The body exists ==> it is not an axiom *) + Some (Http_getter.getxml' bodyuri) + with + Http_getter_types.Unresolvable_URI _ -> + (* The body does not exist ==> we consider it an axiom *) + None + in + let annobj = + CicParser.annobj_of_xml cicfilename cicbodyfilename + in + Unix.unlink cicfilename ; + (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ; + 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 + let cicfilename = Http_getter.getxml' (U.cicuri_of_uri uri) in + 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 = + try + ignore (Http_getter.resolve' bodyuri) ; + (* The body exists ==> it is not an axiom *) + Some (Http_getter.getxml' bodyuri) + with Http_getter_types.Unresolvable_URI _ -> + (* The body does not exist ==> we consider it an axiom *) + None + in + let obj = CicParser.obj_of_xml cicfilename cicbodyfilename in + Unix.unlink cicfilename ; + (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ; + obj ;;