rhcp_shell 0.2.12 → 0.2.13
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.
- data/bin/rhcp_shell +1 -4
- data/lib/{base_shell.rb → rhcp_shell/base_shell.rb} +0 -0
- data/lib/rhcp_shell/display_types/hash.rb +11 -0
- data/lib/{display_types → rhcp_shell/display_types}/table.rb +13 -3
- data/lib/{local_commands → rhcp_shell/local_commands}/context.rb +0 -0
- data/lib/{local_commands → rhcp_shell/local_commands}/detail.rb +0 -0
- data/lib/{local_commands → rhcp_shell/local_commands}/exit.rb +0 -0
- data/lib/{local_commands → rhcp_shell/local_commands}/help.rb +0 -0
- data/lib/{local_commands → rhcp_shell/local_commands}/set_prompt.rb +0 -0
- data/lib/{rhcp_shell_backend.rb → rhcp_shell/rhcp_shell_backend.rb} +29 -8
- data/lib/{shell_backend.rb → rhcp_shell/shell_backend.rb} +0 -0
- data/lib/{util → rhcp_shell/util}/colorize.rb +0 -0
- data/lib/{version.rb → rhcp_shell/version.rb} +3 -1
- data/lib/rhcp_shell.rb +5 -0
- data/lib/test.log +0 -0
- data/test/rhcp_shell_backend_test.rb +0 -0
- data/test/setup_test_registry.rb +0 -0
- metadata +23 -24
- data/lib/display_types/hash.rb +0 -10
data/bin/rhcp_shell
CHANGED
File without changes
|
@@ -0,0 +1,11 @@
|
|
1
|
+
def format_hash_output(command, response)
|
2
|
+
output = []
|
3
|
+
|
4
|
+
max_key_length = response.data.keys().sort { |a,b| a.to_s.length <=> b.to_s.length }.last.to_s.length
|
5
|
+
|
6
|
+
response.data.keys.sort { |a,b| a.to_s <=> b.to_s }.each do |k|
|
7
|
+
v = response.data[k]
|
8
|
+
output << sprintf(" %-#{max_key_length + 5}s\t%s", k, v)
|
9
|
+
end
|
10
|
+
output.join("\n")
|
11
|
+
end
|
@@ -21,9 +21,19 @@ def format_table_output(command, response)
|
|
21
21
|
$logger.debug "column title list : #{column_title_list}"
|
22
22
|
|
23
23
|
# TODO the sorting column should be configurable
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
if response.data.size > 0
|
25
|
+
begin
|
26
|
+
first_column = columns_to_display[0]
|
27
|
+
$logger.debug "sorting by #{first_column}"
|
28
|
+
if response.data.first.has_key? first_column
|
29
|
+
response.data = response.data.sort { |a,b| a[first_column] <=> b[first_column] }
|
30
|
+
else
|
31
|
+
$logger.info "not sorting output because first defined column '#{first_column}' is missing in response data"
|
32
|
+
end
|
33
|
+
rescue => detail
|
34
|
+
$logger.warn "got a problem while sorting the output : #{detail.message}"
|
35
|
+
end
|
36
|
+
end
|
27
37
|
|
28
38
|
# add the index column
|
29
39
|
columns_to_display.unshift "__idx"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -184,15 +184,19 @@ class RHCPShellBackend < ShellBackend
|
|
184
184
|
request = RHCP::Request.new(command, @collected_values)
|
185
185
|
response = @command_broker.execute(request)
|
186
186
|
|
187
|
-
# we might want to access this response in further commands
|
188
|
-
@last_response = response
|
189
|
-
|
190
187
|
if (response.status == RHCP::Response::Status::OK)
|
191
|
-
|
192
188
|
$logger.debug "raw result : #{response.data}"
|
193
189
|
$logger.debug "result hints: #{command.result_hints}"
|
194
190
|
$logger.debug "display_type : #{command.result_hints[:display_type]}"
|
191
|
+
|
192
|
+
#if not command.result_hints.has_key? :display_type
|
193
|
+
# puts response.data.class
|
194
|
+
#end
|
195
|
+
|
196
|
+
@last_response = response
|
195
197
|
if command.result_hints[:display_type] == "table"
|
198
|
+
# we might want to access this response in further commands
|
199
|
+
|
196
200
|
output = format_table_output(command, response)
|
197
201
|
puts output
|
198
202
|
elsif command.result_hints[:display_type] == "hash"
|
@@ -206,8 +210,14 @@ class RHCPShellBackend < ShellBackend
|
|
206
210
|
puts output
|
207
211
|
elsif command.result_hints[:display_type] == "hidden"
|
208
212
|
$logger.debug "suppressing output due to display_type 'hidden'"
|
213
|
+
elsif command.result_hints[:display_type] == "raw"
|
214
|
+
p output
|
209
215
|
else
|
210
|
-
|
216
|
+
if @prompt_color_enabled
|
217
|
+
puts "#{green(@command_selected.name)} : #{response.data}"
|
218
|
+
else
|
219
|
+
puts "executed '#{@command_selected.name}' successfully : #{response.data}"
|
220
|
+
end
|
211
221
|
end
|
212
222
|
|
213
223
|
# if the command has been executed successfully, we might have to update the prompt
|
@@ -221,8 +231,12 @@ class RHCPShellBackend < ShellBackend
|
|
221
231
|
Kernel.exit(0)
|
222
232
|
end
|
223
233
|
|
224
|
-
|
225
|
-
|
234
|
+
if @prompt_color_enabled
|
235
|
+
puts "#{red(@command_selected.name)} : #{response.error_text}"
|
236
|
+
else
|
237
|
+
puts "could not execute '#{@command_selected.name}' : #{response.error_text}"
|
238
|
+
end
|
239
|
+
$logger.error "[#{@command_selected.name}] #{response.error_text} : #{response.error_detail}"
|
226
240
|
|
227
241
|
set_prompt nil
|
228
242
|
end
|
@@ -310,7 +324,14 @@ class RHCPShellBackend < ShellBackend
|
|
310
324
|
@current_param = @command_selected.get_param(key)
|
311
325
|
add_parameter_value(value)
|
312
326
|
rescue RHCP::RhcpException => ex
|
313
|
-
|
327
|
+
if @command_selected.accepts_extra_params
|
328
|
+
puts "collecting value for extra param : #{key} => #{value}"
|
329
|
+
@collected_values["extra_params"] = {} unless @collected_values.has_key?("extra_params")
|
330
|
+
@collected_values["extra_params"][key] = Array.new if @collected_values["extra_params"][key] == nil
|
331
|
+
@collected_values["extra_params"][key] << [ value ]
|
332
|
+
else
|
333
|
+
puts "ignoring parameter value '#{value}' for param '#{key}' : " + ex.to_s
|
334
|
+
end
|
314
335
|
end
|
315
336
|
end
|
316
337
|
end
|
File without changes
|
File without changes
|
data/lib/rhcp_shell.rb
ADDED
data/lib/test.log
CHANGED
File without changes
|
File without changes
|
data/test/setup_test_registry.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,22 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhcp_shell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 13
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 13
|
10
|
+
version: 0.2.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
|
-
- Philipp
|
13
|
+
- Philipp T.
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2013-01-06 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: rhcp
|
@@ -35,7 +34,7 @@ dependencies:
|
|
35
34
|
type: :runtime
|
36
35
|
version_requirements: *id001
|
37
36
|
description:
|
38
|
-
email: philipp at
|
37
|
+
email: philipp at virtualop dot org
|
39
38
|
executables:
|
40
39
|
- rhcp_shell
|
41
40
|
extensions: []
|
@@ -44,22 +43,22 @@ extra_rdoc_files: []
|
|
44
43
|
|
45
44
|
files:
|
46
45
|
- bin/rhcp_shell
|
47
|
-
- lib/
|
46
|
+
- lib/rhcp_shell.rb
|
47
|
+
- lib/rhcp_shell/util/colorize.rb
|
48
|
+
- lib/rhcp_shell/rhcp_shell_backend.rb
|
49
|
+
- lib/rhcp_shell/local_commands/set_prompt.rb
|
50
|
+
- lib/rhcp_shell/local_commands/context.rb
|
51
|
+
- lib/rhcp_shell/local_commands/detail.rb
|
52
|
+
- lib/rhcp_shell/local_commands/help.rb
|
53
|
+
- lib/rhcp_shell/local_commands/exit.rb
|
54
|
+
- lib/rhcp_shell/version.rb
|
55
|
+
- lib/rhcp_shell/display_types/hash.rb
|
56
|
+
- lib/rhcp_shell/display_types/table.rb
|
57
|
+
- lib/rhcp_shell/base_shell.rb
|
58
|
+
- lib/rhcp_shell/shell_backend.rb
|
48
59
|
- lib/test.log
|
49
|
-
- lib/shell_backend.rb
|
50
|
-
- lib/rhcp_shell_backend.rb
|
51
|
-
- lib/local_commands/set_prompt.rb
|
52
|
-
- lib/local_commands/help.rb
|
53
|
-
- lib/local_commands/context.rb
|
54
|
-
- lib/local_commands/detail.rb
|
55
|
-
- lib/local_commands/exit.rb
|
56
|
-
- lib/version.rb
|
57
|
-
- lib/util/colorize.rb
|
58
|
-
- lib/display_types/hash.rb
|
59
|
-
- lib/display_types/table.rb
|
60
60
|
- test/rhcp_shell_backend_test.rb
|
61
61
|
- test/setup_test_registry.rb
|
62
|
-
has_rdoc: true
|
63
62
|
homepage: http://rubyforge.org/projects/rhcp
|
64
63
|
licenses: []
|
65
64
|
|
@@ -88,10 +87,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
87
|
version: "0"
|
89
88
|
requirements: []
|
90
89
|
|
91
|
-
rubyforge_project:
|
92
|
-
rubygems_version: 1.
|
90
|
+
rubyforge_project:
|
91
|
+
rubygems_version: 1.8.24
|
93
92
|
signing_key:
|
94
93
|
specification_version: 3
|
95
|
-
summary:
|
94
|
+
summary: command line shell for RHCP
|
96
95
|
test_files: []
|
97
96
|
|
data/lib/display_types/hash.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
def format_hash_output(command, response)
|
2
|
-
output = []
|
3
|
-
|
4
|
-
max_key_length = response.data.keys().sort { |a,b| a.length <=> b.length }.first.length
|
5
|
-
|
6
|
-
response.data.each do |k,v|
|
7
|
-
output << sprintf(" %-#{max_key_length + 5}s\t%s", k, v)
|
8
|
-
end
|
9
|
-
output.join("\n")
|
10
|
-
end
|