1 (** Wrapper around Perl [Net::Google] class.
3 * Copyright (C) 2003 Merjis Ltd.
5 * $Id: pl_Net_Google.ml,v 1.3 2003-10-16 13:41:07 rich Exp $
10 open Pl_Net_Google_Cache
11 open Pl_Net_Google_Search
12 open Pl_Net_Google_Spelling
14 let _ = eval "use Net::Google"
16 let may f = function None -> () | Some v -> f v
22 method search ?key ?starts_at ?max_results ?lr ?ie ?oe ?safe ?filter () =
25 args := sv_of_string "key" :: sv_of_string v :: !args) key;
27 args := sv_of_string "starts_at" :: sv_of_int v :: !args) starts_at;
29 args := sv_of_string "max_results" :: sv_of_int v :: !args)
32 args := sv_of_string "lr" :: sv_of_string v :: !args) lr;
34 args := sv_of_string "ie" :: sv_of_string v :: !args) ie;
36 args := sv_of_string "oe" :: sv_of_string v :: !args) oe;
38 args := sv_of_string "safe" :: sv_of_bool v :: !args) safe;
40 args := sv_of_string "filter" :: sv_of_bool v :: !args) filter;
41 let sv = call_method sv "search" !args in
42 new net_google_search sv
44 method spelling ?key ?phrase ?debug () =
47 args := sv_of_string "key" :: sv_of_string v :: !args) key;
49 args := sv_of_string "phrase" :: sv_of_string v :: !args) phrase;
51 args := sv_of_string "debug" :: sv_of_int v :: !args) debug;
52 let sv = call_method sv "spelling" !args in
53 new net_google_spelling sv
55 method cache ?key ?url ?debug () =
58 args := sv_of_string "key" :: sv_of_string v :: !args) key;
60 args := sv_of_string "url" :: sv_of_string v :: !args) url;
62 args := sv_of_string "debug" :: sv_of_int v :: !args) debug;
63 let sv = call_method sv "cache" !args in
64 new net_google_cache sv
68 let new_ ?key ?debug () =
71 args := sv_of_string "key" :: sv_of_string v :: !args) key;
73 args := sv_of_string "debug" :: sv_of_int v :: !args) debug;
74 let sv = call_class_method "Net::Google" "new" !args in