X-Git-Url: http://git.annexia.org/?p=whenjobs.git;a=blobdiff_plain;f=tools%2Fwhenjobs.ml;h=f8a0659b323239203d55ac3c393d2185d6d117dc;hp=60795ba4c7d6eb0bcc4d81fb48ee6ce1f7bffadd;hb=be26a2cdba2f9229bdfee30770fd18c6841c1bc5;hpb=65b5a307fc1c55a197ee337180842ac6885ba784 diff --git a/tools/whenjobs.ml b/tools/whenjobs.ml index 60795ba..f8a0659 100644 --- a/tools/whenjobs.ml +++ b/tools/whenjobs.ml @@ -87,7 +87,7 @@ let rec main () = "--list", Arg.Unit (set_mode `List), " List the script"; "--lib", Arg.Set_string libdir, "dir Specify directory that contains pa_when.cmo"; "--set", Arg.Unit (set_mode `Set), " Set the variable"; - "--type", Arg.Set_string typ, "bool|int|float|string Set the variable type"; + "--type", Arg.Set_string typ, "bool|int|float|string|unit Set the variable type"; "--upload", Arg.Unit (set_mode `Upload), " Upload the script"; "--variables", Arg.Unit (set_mode `Variables), " Display all variables and values"; "-V", Arg.Unit display_version, " Display version number and exit"; @@ -130,6 +130,7 @@ Options: | "string" -> `String | "int" -> `Int | "float"|"double" -> `Float + | "unit" -> `Unit | t -> eprintf "whenjobs: --type: unknown type (%s)\n" t; exit 1 in @@ -293,7 +294,13 @@ and set_variable name value typ = with Failure _ -> eprintf "whenjobs: variable is not a floating point number\n"; exit 1 - ) in + ) + | `Unit -> + if value <> "" then ( + eprintf "whenjobs: unit variables must be empty strings\n"; + exit 1 + ); + `unit_t in let client = start_client () in (match Whenproto_clnt.When.V1.set_variable client (name, value) with @@ -384,6 +391,7 @@ and stop_client client = Rpc_client.shut_down client and string_of_variable = function + | `unit_t -> "" | `bool_t b -> string_of_bool b | `string_t s -> s | `int_t i -> i (* passed on the wire as a string *)