zabcon 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,8 +18,8 @@
18
18
 
19
19
  ##########################################
20
20
  # Subversion information
21
- # $Id: argument_processor.rb 258 2010-12-28 22:49:21Z nelsonab $
22
- # $Revision: 258 $
21
+ # $Id: argument_processor.rb 266 2010-12-30 11:03:54Z richlv $
22
+ # $Revision: 266 $
23
23
  ##########################################
24
24
 
25
25
  require 'libs/zdebug'
@@ -291,7 +291,7 @@ class ArgumentProcessor
291
291
 
292
292
  debug(2,args,"Pre substitution")
293
293
  args=unescape(substitute(split(args)).join)
294
- debug(2,args,"Post Substitution")
294
+ debug(2,args,"Post substitution")
295
295
 
296
296
  return args
297
297
  end
@@ -325,7 +325,7 @@ class ArgumentProcessor
325
325
  end
326
326
 
327
327
  # This is the default Parameter processor. This is passed to the Command Tree object when it is instantiated
328
- # The default processor also checks the incoming parameters against the a list of valid arguments, and merges
328
+ # The default processor also checks the incoming parameters against a list of valid arguments, and merges
329
329
  # the user variables with the inbound arguments with the inbound arguments taking precedence, raises an
330
330
  # exception if there is an error
331
331
  def default_processor(help_func,valid_args,args,user_vars,*options)
@@ -528,21 +528,21 @@ class ArgumentProcessor
528
528
  end
529
529
 
530
530
  # Item types
531
- # 0 Zabbix agent - Passive
532
- # 1 SNMPv1 agent - SNMP
533
- # 2 Zabbix trapper - Trapper
534
- # 3 Simple check - Simple
535
- # 4 SNMPv2 agent - SNMP2
536
- # 5 Zabbix internal - Internal
537
- # 6 SNMPv3 agent - SNMP3
531
+ # 0 Zabbix agent - Passive
532
+ # 1 SNMPv1 agent - SNMP
533
+ # 2 Zabbix trapper - Trapper
534
+ # 3 Simple check - Simple
535
+ # 4 SNMPv2 agent - SNMP2
536
+ # 5 Zabbix internal - Internal
537
+ # 6 SNMPv3 agent - SNMP3
538
538
  # 7 Zabbix agent (active) - Active
539
- # 8 Zabbix aggregate - Aggregate
540
- # 10 External check - External
539
+ # 8 Zabbix aggregate - Aggregate
540
+ # 10 External check - External
541
541
  # 11 Database monitor - Database
542
- # 12 IPMI agent - IPMI
543
- # 13 SSH agent - SSH
544
- # 14 TELNET agent - Telnet
545
- # 15 Calculated - Calculated
542
+ # 12 IPMI agent - IPMI
543
+ # 13 SSH agent - SSH
544
+ # 14 TELNET agent - Telnet
545
+ # 15 Calculated - Calculated
546
546
 
547
547
  #value types
548
548
  # 0 Numeric (float)
@@ -759,10 +759,3 @@ if __FILE__ == $0
759
759
  p arg='hosts=[{hostid=10017}] name="zzz"'
760
760
  pp arg_processor.params_to_hash(arg)
761
761
  end
762
-
763
-
764
-
765
-
766
-
767
-
768
-
data/libs/command_help.rb CHANGED
@@ -18,8 +18,8 @@
18
18
 
19
19
  ##########################################
20
20
  # Subversion information
21
- # $Id: command_help.rb 258 2010-12-28 22:49:21Z nelsonab $
22
- # $Revision: 258 $
21
+ # $Id: command_help.rb 270 2011-01-04 06:13:31Z nelsonab $
22
+ # $Revision: 270 $
23
23
  ##########################################
24
24
 
25
25
  require 'libs/zdebug'
@@ -76,29 +76,26 @@ class CommandHelp
76
76
  end
77
77
 
78
78
  def help(command_tree,input)
79
+ input=input.gsub(/^\s*help\s*/,"") #strip out the help statement at the start
79
80
  debug(6,command_tree.commands,"command_tree",350)
80
81
  debug(6,input,"input")
81
82
 
82
83
  items=input.split(" ")
83
- if items.length==1
84
- debug(6)
85
-
84
+ if items.length==0
86
85
  puts @doc.elements["//item[@command='help']"].text
87
86
  else # more than "help" was typed by the user
88
- items.delete("help")
89
87
  help_cmd=items.join(" ").lstrip.chomp
90
88
 
91
- if help_cmd=="commands"
89
+ if help_cmd.downcase=="commands"
92
90
  puts @doc.elements["//item[@command='help_commands']"].text
93
91
  else
94
92
  debug(4,help_cmd,"Searching for help on")
95
93
 
96
94
  cmd=command_tree.search(help_cmd)[0] #search returns an array
97
-
98
- if !cmd.helpproc.nil?
99
- cmd.helpproc.call(nil) #TODO: need to fix, see line 67 above
100
- else
95
+ if cmd.nil? or cmd[:helpproc].nil?
101
96
  puts "Unable to find help for \"#{help_cmd}\""
97
+ else
98
+ cmd[:helpproc].call(nil) #TODO: need to fix, see line 67 above
102
99
  end
103
100
  end
104
101
  end
data/libs/command_tree.rb CHANGED
@@ -18,8 +18,8 @@
18
18
 
19
19
  ##########################################
20
20
  # Subversion information
21
- # $Id: command_tree.rb 258 2010-12-28 22:49:21Z nelsonab $
22
- # $Revision: 258 $
21
+ # $Id: command_tree.rb 270 2011-01-04 06:13:31Z nelsonab $
22
+ # $Revision: 270 $
23
23
  ##########################################
24
24
 
25
25
  require 'libs/zdebug'
@@ -32,7 +32,7 @@ class Parser
32
32
  attr_reader :commands
33
33
 
34
34
  def initialize(default_argument_processor)
35
- @commands=CommandTree.new("",nil,0,nil,nil,nil,nil)
35
+ @commands=NewCommandTree.new
36
36
  @default_argument_processor=default_argument_processor
37
37
  end
38
38
 
@@ -53,13 +53,11 @@ class Parser
53
53
 
54
54
  str=strip_comments(str)
55
55
 
56
- nodes = [""]+str.split
57
56
 
58
- cmd_node=@commands.search(nodes) # a side effect of the function is that it also manipulates nodes
57
+ # cmd_node=@commands.search(nodes) # a side effect of the function is that it also manipulates nodes
58
+ cmd_node=@commands.get_command(str)
59
59
  debug(7,cmd_node,"search result")
60
- args=nodes.join(" ")
61
-
62
- return cmd_node,args
60
+ return cmd_node[:command],cmd_node[:parameters]
63
61
 
64
62
  end
65
63
 
@@ -80,17 +78,20 @@ class Parser
80
78
  debug(7,str,"Parsing")
81
79
  # options=
82
80
  debug(7,user_vars,"User Variables")
83
- cmd_node,args=search(str)
84
81
 
85
- if cmd_node.commandproc.nil? then
82
+ result=@commands.get_command(str)
83
+
84
+ cmd=result[:command]
85
+
86
+ if cmd.nil? or cmd[:commandproc].nil? then
86
87
  raise ParseError.new("Parse error, incomplete/unknown command: #{str}",:retry=>true)
87
88
  else
88
89
  # The call here to the argument process requires one argument as it's a lambda block which is setup when the
89
90
  # command node is created
90
- debug(6,args,"calling argument processor")
91
- args=cmd_node.argument_processor.call(args,user_vars)
91
+ debug(6,result[:parameters],"calling argument processor")
92
+ args=cmd[:argument_processor].call(result[:parameters],user_vars)
92
93
  debug(6,args,"received from argument processor")
93
- retval = args.nil? ? nil : {:proc=>cmd_node.commandproc, :helpproc=>cmd_node.helpproc, :options=>cmd_node.options}.merge(args)
94
+ retval = args.nil? ? nil : {:proc=>cmd[:commandproc], :helpproc=>cmd[:helpproc], :options=>cmd[:options]}.merge(args)
94
95
  return retval
95
96
  end
96
97
  end
@@ -119,19 +120,142 @@ class Parser
119
120
  end
120
121
  end
121
122
 
122
- def insert(insert_path,command,commandproc,arguments=[],helpproc=nil,argument_processor=nil,*options)
123
- debug(10,{"insert_path"=>insert_path, "command"=>command, "commandproc"=>commandproc, "arguments"=> arguments, "helpproc"=>helpproc, "argument_processor"=>argument_processor, "options"=>options})
124
- insert_path_arr=[""]+insert_path.split # we must pre-load our array with a blank node at the front
123
+ def insert(insert_path,commandproc,arguments=[],helpproc=nil,argument_processor=nil,*options)
124
+ debug(10,{"insert_path"=>insert_path, "commandproc"=>commandproc, "arguments"=> arguments, "helpproc"=>helpproc, "argument_processor"=>argument_processor, "options"=>options})
125
+ # insert_path_arr=[""]+insert_path.split # we must pre-load our array with a blank node at the front
125
126
  # p insert_path_arr
126
127
 
127
128
  # If the parameter "argument_processor" is nil use the default argument processor
128
129
  arg_processor = argument_processor.nil? ? @default_argument_processor : argument_processor
129
- @commands.insert(insert_path_arr,command,commandproc,arguments,helpproc,arg_processor,options)
130
+ @commands.insert(insert_path,commandproc,arguments,helpproc,arg_processor,options)
130
131
  end
131
132
 
132
133
  end
133
134
 
135
+ #{"add"=>{:node=>proc, "host"=>{:node=>proc,"group"=>{:node=>proc}}},"delete"=>...}
136
+
137
+ class NewCommandTree
138
+ include ZDebug
139
+
140
+ def initialize
141
+ @tree = {}
142
+ end
143
+
144
+ def insert(insert_path,commandproc,arguments,helpproc,argument_processor,options)
145
+ tree_node=@tree
146
+ path_length=insert_path.length-1
147
+ insert_path.each_index do |index|
148
+ if tree_node[insert_path[index]].nil?
149
+ if index<path_length
150
+ tree_node[insert_path[index]]={}
151
+ tree_node=tree_node[insert_path[index]]
152
+ else
153
+ local_arg_processor=lambda do |params,user_vars|
154
+ if argument_processor.nil?
155
+ nil
156
+ else
157
+ argument_processor.call(helpproc,arguments,params,user_vars,options) # We pass the list of valid arguments to
158
+ end
159
+ end
160
+ if options.nil?
161
+ local_options=nil
162
+ else
163
+ local_options = Hash[*options.collect { |v|
164
+ [v, true]
165
+ }.flatten]
166
+ end
167
+ tree_node[insert_path[index]]={:node=>
168
+ {:commandproc=>commandproc, :arguments=>arguments, :helpproc=>helpproc,
169
+ :argument_processor=>local_arg_processor,:options=>local_options}}
170
+ end
171
+ else
172
+ tree_node=tree_node[insert_path[index]]
173
+ end
174
+ end
175
+ end
176
+
177
+ #get_command(String)
178
+ #returns a Hash with two items: :command and :parameters
179
+ #:command is a hash denoting all of the components of a the command when it was inserted
180
+ #:parameters is the remainder of the String passed in.
181
+ #
182
+ #example:
183
+ # get_command("get host show=all")
184
+ # {:command=>{hash created from insert}, :parameters=>"show=all"}
185
+ #
186
+ # get_command("get host test test2")
187
+ # {:command=>{hash created from insert}, :parameters=>"test test2"
188
+ def get_command(str)
189
+ str_array=str.downcase.split #ensure all comparisons are done in lower case
190
+ str_items=str_array.length
191
+
192
+ cur_node=@tree
193
+ count=0
194
+
195
+ str_array.collect do |item|
196
+ break if cur_node[item].nil?
197
+ count+=1
198
+
199
+ cur_node=cur_node[item]
200
+ end
201
+
202
+ cmd= cur_node.nil? ? nil : cur_node[:node]
203
+
204
+ #remove preceding items found so we can return the remainder
205
+ #as the parameters
206
+ count.times do |i|
207
+ str=str.gsub(/^#{str_array[i]}/,"")
208
+ str=str.gsub(/^\s*/,"")
209
+ end
210
+
211
+ {:command=>cmd,:parameters=>str}
212
+ end
213
+
214
+ end
215
+ def search(search_path)
216
+ debug(10,search_path,"search_path")
217
+ return retval if results.empty? # no more children to search, return retval which may be self or nil, see logic above
218
+ debug(10)
219
+
220
+ return results[0].search(search_path)
221
+ debug(10,"Not digging deeper")
222
+
223
+ return self if search_path[0]==@command
224
+
225
+ end
226
+
227
+ def insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options)
228
+ do_insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options,0)
229
+ end
134
230
 
231
+ # Insert path is the path to insert the item into the tree
232
+ # Insert path is passed in as an array of names which associate with pre-existing nodes
233
+ # The function will recursively insert the command and will remove the top of the input path stack at each level until it
234
+ # finds the appropraite level. If the appropriate level is never found an exception is raised.
235
+ def do_insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options,depth)
236
+ debug(11,{"insert_path"=>insert_path, "command"=>command, "commandproc"=>commandproc, "arguments"=> arguments,
237
+ "helpproc"=>helpproc, "verify_func"=>argument_processor, "depth"=>depth})
238
+ debug(11,@command,"self.command")
239
+ # debug(11,@children.map {|child| child.command},"children")
240
+
241
+ if insert_path[0]==@command then
242
+ debug(11,"Found node")
243
+ if insert_path.length==1 then
244
+ debug(11,command,"inserting")
245
+ @children << CommandTree.new(command,commandproc,depth+1,arguments,helpproc,argument_processor,options)
246
+ else
247
+ debug(11,"Not found walking tree")
248
+ insert_path.shift
249
+ if !@children.empty? then
250
+ @children.each { |node| node.do_insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options,depth+1)}
251
+ else
252
+ raise(Command_Tree_Exception,"Unable to find insert point in Command Tree")
253
+ end
254
+ end
255
+ end
256
+ end
257
+
258
+ =begin
135
259
  class CommandTree
136
260
 
137
261
  include ZDebug
@@ -191,72 +315,31 @@ class CommandTree
191
315
  # or the immediate children nodes. It does not search the tree beyond one level.
192
316
  # The loggedin argument is used to differentiate searching for commands which require a valid
193
317
  # login or not. If loggedin is false it will return commands which do not require a valid login.
194
- def search(search_path)
195
- debug(10,search_path,"search_path")
196
- debug(10,self,"self",300)
318
+ debug(10,self,"self",300)
197
319
 
198
- return nil if search_path.nil?
199
- return nil if search_path.empty?
320
+ return nil if search_path.nil?
321
+ return nil if search_path.empty?
200
322
 
201
- retval=nil
323
+ retval=nil
202
324
 
203
- retval=self if search_path[0]==@command
325
+ retval=self if search_path[0]==@command
204
326
 
205
327
 
206
- search_path.shift
207
- debug(10,search_path, "shifted search path")
328
+ search_path.shift
329
+ debug(10,search_path, "shifted search path")
208
330
 
209
- return retval if search_path.length==0
331
+ return retval if search_path.length==0
210
332
 
211
333
  # p search_path
212
334
  # p @children.map {|child| child.command}
213
- debug(10,@children.map{|child| child.command},"Current children")
214
-
215
- results=@children.map {|child| child.command==search_path[0] ? child : nil }
216
- results.compact!
217
- debug(10,results,"Children search results",200)
218
- return retval if results.empty? # no more children to search, return retval which may be self or nil, see logic above
219
- debug(10)
220
-
221
- return results[0].search(search_path)
222
- debug(10,"Not digging deeper")
223
-
224
- return self if search_path[0]==@command
225
-
226
- end
335
+ debug(10,@children.map{|child| child.command},"Current children")
227
336
 
228
- def insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options)
229
- do_insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options,0)
230
- end
231
-
232
- # Insert path is the path to insert the item into the tree
233
- # Insert path is passed in as an array of names which associate with pre-existing nodes
234
- # The function will recursively insert the command and will remove the top of the input path stack at each level until it
235
- # finds the appropraite level. If the appropriate level is never found an exception is raised.
236
- def do_insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options,depth)
237
- debug(11,{"insert_path"=>insert_path, "command"=>command, "commandproc"=>commandproc, "arguments"=> arguments,
238
- "helpproc"=>helpproc, "verify_func"=>argument_processor, "depth"=>depth})
239
- debug(11,@command,"self.command")
240
- # debug(11,@children.map {|child| child.command},"children")
241
-
242
- if insert_path[0]==@command then
243
- debug(11,"Found node")
244
- if insert_path.length==1 then
245
- debug(11,command,"inserting")
246
- @children << CommandTree.new(command,commandproc,depth+1,arguments,helpproc,argument_processor,options)
247
- else
248
- debug(11,"Not found walking tree")
249
- insert_path.shift
250
- if !@children.empty? then
251
- @children.each { |node| node.do_insert(insert_path,command,commandproc,arguments,helpproc,argument_processor,options,depth+1)}
252
- else
253
- raise(Command_Tree_Exception,"Unable to find insert point in Command Tree")
254
- end
255
- end
256
- end
257
- end
337
+ results=@children.map {|child| child.command==search_path[0] ? child : nil }
338
+ results.compact!
339
+ debug(10,results,"Children search results",200)
258
340
 
259
341
  end
342
+ =end
260
343
 
261
344
 
262
345
  if __FILE__ == $0
data/libs/zabcon_core.rb CHANGED
@@ -21,7 +21,7 @@
21
21
  ##########################################
22
22
  # Subversion information
23
23
  # $Id: $
24
- # $Revision: 258 $
24
+ # $Revision: 270 $
25
25
  ##########################################
26
26
 
27
27
  require 'parseconfig'
@@ -109,104 +109,92 @@ class ZabconCore
109
109
  # parameters for insert: insert_path, command, commandproc, arguments=[], helpproc=nil, verify_func=nil, options
110
110
 
111
111
  # These commands do not require a valid login
112
- @commands.insert "", "quit", :exit
113
- @commands.insert "", "exit", :exit
114
- @commands.insert "", "help", :help,no_args,no_help,@arg_processor.help, :suppress_printer
115
-
116
- @commands.insert "", "hisotry", self.method(:do_history),no_args,no_help,no_verify,:suppress_printer
117
- @commands.insert "", "info", self.method(:do_info),no_args,no_help,no_verify,:suppress_printer
118
- @commands.insert "", "load", no_cmd,no_args,no_help,no_verify,:suppress_printer
119
- @commands.insert "", "login", self.method(:do_login),nil,nil,@arg_processor.method(:login), :suppress_printer
120
- @commands.insert "", "set", no_cmd
121
- @commands.insert "", "show", no_cmd
122
- @commands.insert "", "unset", no_cmd
123
- @commands.insert "load", "config", @env.method(:load_config),no_args,no_help,no_verify,:suppress_printer
124
- @commands.insert "set", "debug", self.method(:set_debug),no_args,no_help,no_verify,:suppress_printer
125
- @commands.insert "set", "lines", self.method(:set_lines),no_args,no_help,no_verify,:suppress_printer
126
- @commands.insert "set", "pause", self.method(:set_pause),no_args,no_help,no_verify,:suppress_printer
127
- @commands.insert "set", "var", self.method(:set_var), no_args, no_help, @arg_processor.method(:simple_processor),:suppress_printer
128
- @commands.insert "set", "env", self.method(:set_env), no_args, no_help, @arg_processor.method(:simple_processor), :suppress_printer
129
- @commands.insert "show", "var", self.method(:show_var), no_args, no_help, @arg_processor.method(:array_processor), :suppress_printer
130
- @commands.insert "show", "env", self.method(:show_env), no_args, no_help, @arg_processor.method(:array_processor), :suppress_printer
131
- @commands.insert "unset", "var", self.method(:unset_var), no_args, no_help, @arg_processor.method(:array_processor), :suppress_printer
112
+ @commands.insert ["quit"], :exit
113
+ @commands.insert ["exit"], :exit
114
+ @commands.insert ["help"], :help,no_args,no_help,@arg_processor.help, :suppress_printer
115
+
116
+ @commands.insert ["hisotry"], self.method(:do_history),no_args,no_help,no_verify,:suppress_printer
117
+ @commands.insert ["info"], self.method(:do_info),no_args,no_help,no_verify,:suppress_printer
118
+ @commands.insert ["load"], no_cmd,no_args,no_help,no_verify,:suppress_printer
119
+ @commands.insert ["login"], self.method(:do_login),nil,nil,@arg_processor.method(:login), :suppress_printer
120
+ @commands.insert ["load","config"], @env.method(:load_config),no_args,no_help,no_verify,:suppress_printer
121
+ @commands.insert ["set","debug"], self.method(:set_debug),no_args,no_help,no_verify,:suppress_printer
122
+ @commands.insert ["set","lines"], self.method(:set_lines),no_args,no_help,no_verify,:suppress_printer
123
+ @commands.insert ["set","pause"], self.method(:set_pause),no_args,no_help,no_verify,:suppress_printer
124
+ @commands.insert ["set","var"], self.method(:set_var), no_args, no_help, @arg_processor.method(:simple_processor),:suppress_printer
125
+ @commands.insert ["set","env"], self.method(:set_env), no_args, no_help, @arg_processor.method(:simple_processor), :suppress_printer
126
+ @commands.insert ["show","var"], self.method(:show_var), no_args, no_help, @arg_processor.method(:array_processor), :suppress_printer
127
+ @commands.insert ["show","env"], self.method(:show_env), no_args, no_help, @arg_processor.method(:array_processor), :suppress_printer
128
+ @commands.insert ["unset","var"], self.method(:unset_var), no_args, no_help, @arg_processor.method(:array_processor), :suppress_printer
129
+
132
130
 
133
131
  if loggedin then
134
132
  debug(5,"Inserting commands which require login")
135
133
  # This command tree is for a valid login
136
- @commands.insert "", "raw", no_cmd
137
- @commands.insert "", "add", no_cmd
138
- @commands.insert "", "delete", no_cmd
139
- @commands.insert "", "get", no_cmd, no_args, @cmd_help.method(:get)
140
- @commands.insert "", "import", self.method(:do_import),no_args,no_help,no_verify
141
- @commands.insert "", "update", no_cmd
142
-
143
- @commands.insert "add", "app", @server.method(:addapp),no_args,no_help,no_verify
144
- @commands.insert "add app", "id", @server.method(:getappid),no_args,no_help,no_verify
145
- @commands.insert "add", "host", @server.method(:addhost), no_args, @cmd_help.method(:add_host), @arg_processor.method(:add_host), :server => @server
146
- @commands.insert "add host", "group", @server.method(:addhostgroup),no_args,no_help,no_verify
147
- @commands.insert "add", "item", @server.method(:additem), no_args, @cmd_help.method(:add_item), @arg_processor.method(:add_item)
148
- @commands.insert "add", "link", @server.method(:addlink),no_args,no_help,no_verify
149
- @commands.insert "add link", "trigger", @server.method(:addlinktrigger),no_args,no_help,no_verify
150
- @commands.insert "add", "sysmap", @server.method(:addsysmap),no_args,no_help,no_verify
151
- @commands.insert "add sysmap", "element", @server.method(:addelementtosysmap),no_args,no_help,no_verify
152
- @commands.insert "add", "trigger", @server.method(:addtrigger),no_args,no_help,no_verify
153
- @commands.insert "add", "user", @server.method(:adduser), no_args, @cmd_help.method(:add_user), @arg_processor.method(:add_user)
154
- @commands.insert "add user", "media", @server.method(:addusermedia),no_args,@cmd_help.method(:add_user_media),no_verify
155
-
156
- @commands.insert "get", "app", @server.method(:getapp), no_args, no_help, @arg_processor.default_get
157
- @commands.insert "get", "host", @server.method(:gethost), no_args, no_help, @arg_processor.default_get
158
- @commands.insert "get host", "group", @server.method(:gethostgroup), no_args, no_help, @arg_processor.default_get
159
- @commands.insert "get host group", "id", @server.method(:gethostgroupid), no_args, no_help, @arg_processor.method(:get_group_id)
160
- @commands.insert "get", "item", @server.method(:getitem),
134
+ @commands.insert ["get"], no_cmd, no_args, @cmd_help.method(:get)
135
+ @commands.insert ["import"], self.method(:do_import),no_args,no_help,no_verify
136
+
137
+ @commands.insert ["add","app"], @server.method(:addapp),no_args,no_help,no_verify
138
+ @commands.insert ["add","app","id"], @server.method(:getappid),no_args,no_help,no_verify
139
+ @commands.insert ["add","host"], @server.method(:addhost), no_args, @cmd_help.method(:add_host), @arg_processor.method(:add_host), :server => @server
140
+ @commands.insert ["add","host","group"], @server.method(:addhostgroup),no_args,no_help,no_verify
141
+ @commands.insert ["add","item"], @server.method(:additem), no_args, @cmd_help.method(:add_item), @arg_processor.method(:add_item)
142
+ @commands.insert ["add","link"], @server.method(:addlink),no_args,no_help,no_verify
143
+ @commands.insert ["add","link","trigger"], @server.method(:addlinktrigger),no_args,no_help,no_verify
144
+ @commands.insert ["add","sysmap"], @server.method(:addsysmap),no_args,no_help,no_verify
145
+ @commands.insert ["add","sysmap","element"], @server.method(:addelementtosysmap),no_args,no_help,no_verify
146
+ @commands.insert ["add","trigger"], @server.method(:addtrigger),no_args,no_help,no_verify
147
+ @commands.insert ["add","user"], @server.method(:adduser), no_args, @cmd_help.method(:add_user), @arg_processor.method(:add_user)
148
+ @commands.insert ["add","user","media"], @server.method(:addusermedia),no_args,@cmd_help.method(:add_user_media),no_verify
149
+
150
+ @commands.insert ["get","app"], @server.method(:getapp), no_args, no_help, @arg_processor.default_get
151
+ @commands.insert ["get","host"], @server.method(:gethost), no_args, no_help, @arg_processor.default_get
152
+ @commands.insert ["get","host","group"], @server.method(:gethostgroup), no_args, no_help, @arg_processor.default_get
153
+ @commands.insert ["get","host","group","id"], @server.method(:gethostgroupid), no_args, no_help, @arg_processor.method(:get_group_id)
154
+ @commands.insert ["get","item"], @server.method(:getitem),
161
155
  ['itemids','hostids','groupids', 'triggerids','applicationids','status','templated_items','editable','count','pattern','limit','order', 'show'],
162
156
  @cmd_help.method(:get_item), @arg_processor.default_get
163
- @commands.insert "get", "seid", @server.method(:getseid), no_args, no_help, @arg_processor.default_get
164
- @commands.insert "get", "trigger", @server.method(:gettrigger), no_args, no_help, @arg_processor.default_get
165
- @commands.insert "get", "user", @server.method(:getuser),['show'], @cmd_help.method(:get_user), @arg_processor.method(:get_user)
157
+ @commands.insert ["get","seid"], @server.method(:getseid), no_args, no_help, @arg_processor.default_get
158
+ @commands.insert ["get","trigger"], @server.method(:gettrigger), no_args, no_help, @arg_processor.default_get
159
+ @commands.insert ["get","user"], @server.method(:getuser),['show'], @cmd_help.method(:get_user), @arg_processor.method(:get_user)
166
160
 
167
- @commands.insert "delete", "user", @server.method(:deleteuser), ['id'], @cmd_help.method(:delete_user), @arg_processor.method(:delete_user)
168
- @commands.insert "delete", "host", @server.method(:deletehost), no_args, @cmd_help.method(:delete_host), @arg_processor.method(:delete_host)
169
- @commands.insert "delete", "item", @server.method(:deleteitem), ['itemid'], @cmd_help.method(:delete_item), @arg_processor.default
161
+ @commands.insert ["delete","user"], @server.method(:deleteuser), ['id'], @cmd_help.method(:delete_user), @arg_processor.method(:delete_user)
162
+ @commands.insert ["delete","host"], @server.method(:deletehost), no_args, @cmd_help.method(:delete_host), @arg_processor.method(:delete_host)
163
+ @commands.insert ["delete","item"], @server.method(:deleteitem), ['itemid'], @cmd_help.method(:delete_item), @arg_processor.default
170
164
 
171
- @commands.insert "raw", "api", @server.method(:raw_api), no_args, @cmd_help.method(:raw_api), @arg_processor.method(:raw_api)
172
- @commands.insert "raw", "json", @server.method(:raw_json), no_args, @cmd_help.method(:raw_json), @arg_processor.method(:raw_processor)
165
+ @commands.insert ["raw","api"], @server.method(:raw_api), no_args, @cmd_help.method(:raw_api), @arg_processor.method(:raw_api)
166
+ @commands.insert ["raw","json"], @server.method(:raw_json), no_args, @cmd_help.method(:raw_json), @arg_processor.method(:raw_processor)
173
167
 
174
- @commands.insert "update", "user", @server.method(:updateuser), no_args, no_help, no_verify
168
+ @commands.insert ["update","user"], @server.method(:updateuser), no_args, no_help, no_verify
175
169
  else
176
170
  debug(5,"Inserting commands which do not require login")
177
171
  # This command tree is for no login
178
- @commands.insert "", "add", no_cmd
179
- @commands.insert "", "delete", no_cmd
180
- @commands.insert "", "get", no_cmd
181
- @commands.insert "", "import", no_cmd,no_args,no_help
182
- @commands.insert "", "update", no_cmd
183
-
184
- @commands.insert "add", "app", login_required,no_args,no_help
185
- @commands.insert "add app", "id", login_required,no_args,no_help
186
- @commands.insert "add", "host", login_required, no_args, @cmd_help.method(:add_host)
187
- @commands.insert "add host", "group", login_required,no_args,no_help
188
- @commands.insert "add", "item", login_required, no_args, no_help
189
- @commands.insert "add", "link", login_required,no_args,no_help
190
- @commands.insert "add link", "trigger", login_required,no_args,no_help
191
- @commands.insert "add", "sysmap", login_required,no_args,no_help
192
- @commands.insert "add sysmap", "element", login_required,no_args,no_help
193
- @commands.insert "add", "trigger", login_required,no_args,no_help
194
- @commands.insert "add", "user", login_required, no_args, @cmd_help.method(:add_user)
195
- @commands.insert "add user", "media", login_required,no_args,no_help
196
-
197
- @commands.insert "get", "app", login_required, no_args, no_help
198
- @commands.insert "get", "host", login_required, no_args, no_help
199
- @commands.insert "get host", "group", login_required, no_args, no_help
200
- @commands.insert "get host group", "id", login_required, no_args, no_help
201
- @commands.insert "get", "item", login_required, no_args, no_help
202
- @commands.insert "get", "seid", login_required, no_args, no_help
203
- @commands.insert "get", "trigger", login_required, no_args, no_help
204
- @commands.insert "get", "user", login_required,no_args, @cmd_help.method(:get_user)
205
-
206
- @commands.insert "delete", "user", login_required, no_args, @cmd_help.method(:delete_user)
207
- @commands.insert "delete", "host", login_required, no_args, @cmd_help.method(:delete_host)
208
-
209
- @commands.insert "update", "user", login_required, no_args, no_help
172
+ @commands.insert ["add","app"], login_required,no_args,no_help
173
+ @commands.insert ["add","app","id"], login_required,no_args,no_help
174
+ @commands.insert ["add","host"], login_required, no_args, @cmd_help.method(:add_host)
175
+ @commands.insert ["add","host","group"], login_required,no_args,no_help
176
+ @commands.insert ["add","item"], login_required, no_args, no_help
177
+ @commands.insert ["add","link"], login_required,no_args,no_help
178
+ @commands.insert ["add","link","trigger"], login_required,no_args,no_help
179
+ @commands.insert ["add","sysmap"], login_required,no_args,no_help
180
+ @commands.insert ["add","sysmap","element"], login_required,no_args,no_help
181
+ @commands.insert ["add","trigger"], login_required,no_args,no_help
182
+ @commands.insert ["add","user"], login_required, no_args, @cmd_help.method(:add_user)
183
+ @commands.insert ["add","user","media"], login_required,no_args,no_help
184
+
185
+ @commands.insert ["get","app"], login_required, no_args, no_help
186
+ @commands.insert ["get","host"], login_required, no_args, no_help
187
+ @commands.insert ["get","host","group"], login_required, no_args, no_help
188
+ @commands.insert ["get","host","group","id"], login_required, no_args, no_help
189
+ @commands.insert ["get","item"], login_required, no_args, no_help
190
+ @commands.insert ["get","seid"], login_required, no_args, no_help
191
+ @commands.insert ["get","trigger"], login_required, no_args, no_help
192
+ @commands.insert ["get","user"], login_required,no_args, @cmd_help.method(:get_user)
193
+
194
+ @commands.insert ["delete","user"], login_required, no_args, @cmd_help.method(:delete_user)
195
+ @commands.insert ["delete","host"], login_required, no_args, @cmd_help.method(:delete_host)
196
+
197
+ @commands.insert ["update","user"], login_required, no_args, no_help
210
198
  end
211
199
  end
212
200
 
@@ -18,8 +18,8 @@
18
18
 
19
19
  ##########################################
20
20
  # Subversion information
21
- # $Id: zabcon_exceptions.rb 181 2010-04-08 03:33:18Z nelsonab $
22
- # $Revision: 181 $
21
+ # $Id: zabcon_globals.rb 264 2010-12-30 07:21:01Z nelsonab $
22
+ # $Revision: 264 $
23
23
  ##########################################
24
24
 
25
25
  #------------------------------------------------------------------------------
data/zabcon.rb CHANGED
@@ -20,8 +20,8 @@
20
20
 
21
21
  ##########################################
22
22
  # Subversion information
23
- # $Id: zabcon.rb 250 2010-12-24 06:56:38Z nelsonab $
24
- # $Revision: 250 $
23
+ # $Id: zabcon.rb 264 2010-12-30 07:21:01Z nelsonab $
24
+ # $Revision: 264 $
25
25
  ##########################################
26
26
 
27
27
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabcon
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - A. Nelson
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: .
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-30 00:00:00 -05:00
18
+ date: 2011-01-06 00:00:00 -05:00
19
19
  default_executable: zabcon
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency