]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/http_getter/http_getter_misc.ml
use new METAS/* names
[helm.git] / helm / http_getter / http_getter_misc.ml
index 9ab7082974b5603e342f46b507a9e0b5dc12e1ab..a2685ca9ae09369e193d2909129ff2999295e807 100644 (file)
@@ -30,7 +30,7 @@ open Http_getter_debugger;;
 open Printf;;
 
 let trailing_dot_gz_RE = Pcre.regexp "\\.gz$"   (* for g{,un}zip *)
-let url_RE = Pcre.regexp "^([\\w.]+)(:(\\d+))?(/.*)?$"
+let url_RE = Pcre.regexp "^([\\w.-]+)(:(\\d+))?(/.*)?$"
 let http_scheme_RE = Pcre.regexp ~flags:[`CASELESS] "^http://"
 let file_scheme_RE = Pcre.regexp ~flags:[`CASELESS] "^file://"
 let dir_sep_RE = Pcre.regexp "/"
@@ -227,8 +227,11 @@ let http_get url =
     with Unix.Unix_error (Unix.ENOENT, "stat", _) -> None
   end else  (* other URL, pass it to netclient *)
     try
-      Some (Http_client.Convenience.http_get url)
-    with Http_client.Http_error (code, _) -> None
+      Some (Http_client.http_get url)
+    with e ->
+      prerr_endline (sprintf "Warning: Http_client failed with exception: %s"
+        (Printexc.to_string e));
+      None
 
   (** apply a transformation "string list -> string list" to file lines *)
 let mangle_file ~fname f =
@@ -273,3 +276,9 @@ let remove_line ~fname position =
       remove position ([], lines))
 ;;
 
+let is_blank_line =
+  let blank_line_RE = Pcre.regexp "(^#)|(^\\s*$)" in
+  fun line ->
+    Pcre.pmatch ~rex:blank_line_RE line
+;;
+