itrp 0.1.0 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/lib/itrp.rb CHANGED
@@ -23,7 +23,8 @@ raise %q{
23
23
  } unless ARGV.length==1
24
24
 
25
25
  HISTFILE=File.expand_path("~/.itrp_history")
26
- DEFAULT_PROMPT="iTRP> "
26
+ DEFAULT_PROMPT= "iTRP> "
27
+ MULTILINE_PROMPT="+ "
27
28
 
28
29
  class ITRPEnv
29
30
  attr_accessor :prompt
@@ -89,10 +90,15 @@ class Dispatches
89
90
  end
90
91
 
91
92
  # dispatch to correct plugin w/ context
93
+ node=nil
92
94
  [Appenv.context, :any].uniq.collect do |ctx|
93
95
  node = @cmd_roots[ctx].find_node(cmdline.strip.split(' '))
94
- node.enter(cmdline.strip) and return if node
96
+ if not node.is_root?
97
+ node.enter(cmdline.strip)
98
+ return
99
+ end
95
100
  end
101
+ node.notfound(cmdline) if node.is_root?
96
102
  end
97
103
 
98
104
  def reload
@@ -101,7 +107,7 @@ class Dispatches
101
107
  load(f)
102
108
  print('.')
103
109
  end
104
- print("done\n")
110
+ print("done\n\n")
105
111
  end
106
112
 
107
113
  def help
@@ -112,14 +118,16 @@ class Dispatches
112
118
  end
113
119
 
114
120
  def quit
121
+ savehistory
122
+ exit 0
123
+ end
115
124
 
125
+ def savehistory
116
126
  File.open( HISTFILE, "w") do |h|
117
127
  Readline::HISTORY.to_a.uniq.each do |l|
118
128
  h.write(l + "\n" )
119
129
  end
120
130
  end
121
-
122
- exit 0
123
131
  end
124
132
 
125
133
 
@@ -127,14 +135,28 @@ end
127
135
 
128
136
 
129
137
  dispatches = Dispatches.new()
130
- while cmd = Readline.readline(Appenv.prompt, true)
138
+ multiline = []
139
+ while cmd = Readline.readline(Appenv.prompt, false)
140
+
141
+ next if cmd.strip.empty?
142
+
131
143
  begin
132
- dispatches.invoke(cmd)
133
- Readline::HISTORY.push(cmd)
144
+ if cmd =~ /;\s*$/
145
+ multiline << cmd.match(/(.*);/)[1]
146
+ fullcmd = multiline.join()
147
+ dispatches.invoke(fullcmd)
148
+ Readline::HISTORY.push(fullcmd + ";" )
149
+ dispatches.savehistory
150
+ Appenv.prompt = DEFAULT_PROMPT
151
+ multiline = []
152
+ else
153
+ multiline << cmd
154
+ Appenv.prompt = MULTILINE_PROMPT
155
+ end
134
156
  rescue Exception => e
135
157
  if e.message == 'exit' ; exit; end
136
158
  puts "Error " + e.message
137
- puts "Error " + e.backtrace.join('\n')
159
+ puts "Error " + e.backtrace.join("\n")
138
160
  end
139
161
  end
140
162
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itrp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - vivekrajan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-07 00:00:00.000000000 Z
11
+ date: 2022-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trisulrp
@@ -52,48 +52,34 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rdoc
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.12'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.12'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: bundler
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - "~>"
59
+ - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: '1.0'
61
+ version: '0'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - "~>"
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: '1.0'
68
+ version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: jeweler
70
+ name: juwelier
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - "~>"
73
+ - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: 2.0.1
75
+ version: '0'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - "~>"
80
+ - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: 2.0.1
82
+ version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: simplecov
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -124,31 +110,41 @@ files:
124
110
  - README.rdoc
125
111
  - Rakefile
126
112
  - VERSION
113
+ - itrp.gemspec
127
114
  - lib/cmd_base.rb
128
115
  - lib/cmd_root.rb
116
+ - lib/handlers/agg_flow.rb
129
117
  - lib/handlers/alert.rb
130
118
  - lib/handlers/counter.rb
131
119
  - lib/handlers/delete_alerts.rb
120
+ - lib/handlers/edges.rb
132
121
  - lib/handlers/flow.rb
133
122
  - lib/handlers/fts.rb
134
- - lib/handlers/getkey.rb
135
123
  - lib/handlers/getlabel.rb
124
+ - lib/handlers/grep.rb
136
125
  - lib/handlers/help.rb
126
+ - lib/handlers/keyspace.rb
137
127
  - lib/handlers/list.rb
138
128
  - lib/handlers/list_counters.rb
139
129
  - lib/handlers/meters.rb
130
+ - lib/handlers/metric_summ.rb
140
131
  - lib/handlers/options.rb
132
+ - lib/handlers/pcap.rb
133
+ - lib/handlers/probe.rb
141
134
  - lib/handlers/query_alerts.rb
142
135
  - lib/handlers/query_flow.rb
143
136
  - lib/handlers/query_fts.rb
144
137
  - lib/handlers/query_resource.rb
145
- - lib/handlers/resolve.rb
146
138
  - lib/handlers/resource.rb
139
+ - lib/handlers/searchkey.rb
147
140
  - lib/handlers/set.rb
141
+ - lib/handlers/setlabel.rb
148
142
  - lib/handlers/timeslices.rb
149
143
  - lib/handlers/toppers.rb
144
+ - lib/handlers/toptrend.rb
150
145
  - lib/handlers/trackers.rb
151
146
  - lib/handlers/traffic.rb
147
+ - lib/handlers/volume.rb
152
148
  - lib/itrp.rb
153
149
  - test/helper.rb
154
150
  - test/test_itrp.rb
@@ -156,7 +152,7 @@ homepage: http://github.com/vivekrajan/itrp
156
152
  licenses:
157
153
  - MIT
158
154
  metadata: {}
159
- post_install_message:
155
+ post_install_message:
160
156
  rdoc_options: []
161
157
  require_paths:
162
158
  - lib
@@ -171,9 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
167
  - !ruby/object:Gem::Version
172
168
  version: '0'
173
169
  requirements: []
174
- rubyforge_project:
175
- rubygems_version: 2.2.2
176
- signing_key:
170
+ rubygems_version: 3.2.32
171
+ signing_key:
177
172
  specification_version: 4
178
173
  summary: iTRP - Command Line Interface to Trisul Network Analytics
179
174
  test_files: []
@@ -1,38 +0,0 @@
1
- module ITRP
2
-
3
- class Cmd_getkey < Cmd
4
- def initialize (e)
5
- super(e)
6
- @enabled_in_state = :counter
7
- @attach_cmd = ''
8
- @trigger = 'getkey'
9
- end
10
-
11
-
12
-
13
- def enter(cmdline)
14
-
15
- patt = cmdline.scan(/getkey (.*)/).flatten
16
-
17
- print("Search [#{patt[0]}]\n")
18
- req =mk_request(TRP::Message::Command::SEARCH_KEYS_REQUEST,
19
- :counter_group => appstate(:cgguid),
20
- :label => patt[0])
21
-
22
-
23
- rows = []
24
- get_response_zmq(@appenv.zmq_endpt,req) do |resp|
25
- resp.keys.each do |k|
26
- rows << [ k.key, k.label, k.readable ]
27
- end
28
- end
29
-
30
-
31
- table = Terminal::Table.new( :headings => %w(Key Label Readable ), :rows => rows)
32
- puts(table)
33
-
34
- end
35
-
36
- end
37
- end
38
-
@@ -1,34 +0,0 @@
1
- module ITRP
2
-
3
- class Cmd_resolve < Cmd
4
- def initialize (e)
5
- super(e)
6
- @enabled_in_state = :counter
7
- @attach_cmd = ''
8
- @trigger = 'resolve'
9
- end
10
-
11
- def enter(cmdline)
12
-
13
- patt = cmdline.scan(/resolve\s+(\S*)/).flatten.first
14
-
15
- patt.split(',')
16
-
17
- req =mk_request(TRP::Message::Command::KEY_LOOKUP_REQUEST,
18
- :counter_group => appstate(:cgguid),
19
- :keys => patt.split(','))
20
-
21
-
22
- rows = []
23
- get_response_zmq(@appenv.zmq_endpt,req) do |resp|
24
- resp.keys.each do |k|
25
- rows << [ k.key, k.label, k.readable ]
26
- end
27
- end
28
-
29
- table = Terminal::Table.new( :headings => %w(Key Label Readable ), :rows => rows)
30
- puts(table)
31
- end
32
-
33
- end
34
- end