let set_connect_uri conn = connect_uri := conn
let connect_uri () = !connect_uri
+let utf8_copyright = "\194\169"
let utf8_rarrow = "\xe2\x86\x92"
let pretty_string_of_exn =
with the -x flag on the command line."
str
+ | Libvirt.Virterror err ->
+ "Libvirt error",
+ sprintf "libvirt reported an error:
+
+%s
+
+To get more information about libvirt errors, run guestfs-browser
+from the command line like this:
+
+LIBVIRT_DEBUG=1 guestfs-browser"
+ (Libvirt.Virterror.to_string err)
+
(* Add more exception types here as we come across them. Last
* case below is the catch-all.
*)
| exn ->
- "Error", Printexc.to_string exn
+ let str = Printexc.to_string exn in
+ debug "pretty_string_of_exn: unhandled exception %s" str;
+ "Error", str
let human_size i =
if i < 1024L then
let local_file_exists filename =
try Unix.access filename [Unix.F_OK]; true
with Unix.Unix_error _ -> false
+
+let basename pathname =
+ let len = String.length pathname in
+ try
+ let i = String.rindex pathname '/' in
+ let r = String.sub pathname (i+1) (len-i-1) in
+ if r = "" then "root" else r
+ with
+ Not_found -> pathname
+
+let extension pathname =
+ let len = String.length pathname in
+ try
+ let i = String.rindex pathname '.' in
+ let r = String.sub pathname i (len-i) in
+ r
+ with
+ Not_found -> ""