From a2e61867e79c2df181ff514877c8e00101bc14bf Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Mon, 17 Sep 2012 17:40:43 +0200 Subject: [PATCH] feature #1362: print column description with --describe --- src/cli/cli_helper.rb | 8 ++++++++ src/cli/one_helper.rb | 13 +++++++++++++ src/cli/oneacl | 3 ++- src/cli/onecluster | 1 + src/cli/onedatastore | 1 + src/cli/onegroup | 1 + src/cli/onehost | 3 ++- src/cli/oneimage | 1 + src/cli/onetemplate | 1 + src/cli/oneuser | 1 + src/cli/onevm | 3 ++- src/cli/onevnet | 3 ++- 12 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/cli/cli_helper.rb b/src/cli/cli_helper.rb index 92d6c241b1..67b40ce6fc 100644 --- a/src/cli/cli_helper.rb +++ b/src/cli/cli_helper.rb @@ -158,6 +158,14 @@ module CLIHelper end end + def describe_columns + str="%-20s: %-20s" + + @columns.each do |column, d| + puts str % [column, d[:desc]] + end + end + private def print_table(data, options) diff --git a/src/cli/one_helper.rb b/src/cli/one_helper.rb index 0eb892d501..3fcf53f35d 100644 --- a/src/cli/one_helper.rb +++ b/src/cli/one_helper.rb @@ -61,6 +61,12 @@ EOT :description => "Show units in kilobytes" } + DESCRIBE={ + :name => "describe", + :large => "--describe", + :description => "Describe list columns" + } + OPTIONS = XML, NUMERIC, KILOBYTES class OneHelper @@ -88,6 +94,13 @@ EOT end def list_pool(options, top=false, filter_flag=nil) + if options[:describe] + table = format_pool(options) + + table.describe_columns + return 0 + end + filter_flag ||= OpenNebula::Pool::INFO_ALL pool = factory_pool(filter_flag) diff --git a/src/cli/oneacl b/src/cli/oneacl index ea14c9bee1..7dc5281c2a 100755 --- a/src/cli/oneacl +++ b/src/cli/oneacl @@ -90,7 +90,8 @@ cmd = CommandParser::CmdParser.new(ARGV) do Lists the ACL rule set EOT - command :list, list_desc,:options=>OpenNebulaHelper::XML do + command :list, list_desc,:options=>[OpenNebulaHelper::XML, + OpenNebulaHelper::DESCRIBE] do helper.list_pool( options ) end end diff --git a/src/cli/onecluster b/src/cli/onecluster index 6497e6b34e..9fc41c2e6b 100755 --- a/src/cli/onecluster +++ b/src/cli/onecluster @@ -44,6 +44,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML list_options << OpenNebulaHelper::NUMERIC + list_options << OpenNebulaHelper::DESCRIBE ######################################################################## # Formatters for arguments diff --git a/src/cli/onedatastore b/src/cli/onedatastore index a4f9e0cc22..550d015003 100755 --- a/src/cli/onedatastore +++ b/src/cli/onedatastore @@ -45,6 +45,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML list_options << OpenNebulaHelper::NUMERIC + list_options << OpenNebulaHelper::DESCRIBE ######################################################################## # Formatters for arguments diff --git a/src/cli/onegroup b/src/cli/onegroup index 2ea3df657d..bb191bc84d 100755 --- a/src/cli/onegroup +++ b/src/cli/onegroup @@ -44,6 +44,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML list_options << OpenNebulaHelper::NUMERIC + list_options << OpenNebulaHelper::DESCRIBE ######################################################################## # Formatters for arguments diff --git a/src/cli/onehost b/src/cli/onehost index 22fdb1a7b6..d08a487223 100755 --- a/src/cli/onehost +++ b/src/cli/onehost @@ -170,7 +170,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :list, list_desc, - :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do + :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS+ + [OpenNebulaHelper::DESCRIBE] do helper.list_pool(options) end diff --git a/src/cli/oneimage b/src/cli/oneimage index 3c23eb5b29..ef79d8ab62 100755 --- a/src/cli/oneimage +++ b/src/cli/oneimage @@ -45,6 +45,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML list_options << OpenNebulaHelper::NUMERIC + list_options << OpenNebulaHelper::DESCRIBE CREATE_OPTIONS = [OneDatastoreHelper::DATASTORE] diff --git a/src/cli/onetemplate b/src/cli/onetemplate index 6ece44f634..19e8af0f52 100755 --- a/src/cli/onetemplate +++ b/src/cli/onetemplate @@ -44,6 +44,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML list_options << OpenNebulaHelper::NUMERIC + list_options << OpenNebulaHelper::DESCRIBE instantiate_options = [ OneTemplateHelper::VM_NAME, diff --git a/src/cli/oneuser b/src/cli/oneuser index 05705c7f1e..12600e0412 100755 --- a/src/cli/oneuser +++ b/src/cli/oneuser @@ -45,6 +45,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do list_options = CLIHelper::OPTIONS list_options << OpenNebulaHelper::XML list_options << OpenNebulaHelper::NUMERIC + list_options << OpenNebulaHelper::DESCRIBE READ_FILE={ :name => "read_file", diff --git a/src/cli/onevm b/src/cli/onevm index 71c0c0df19..0d3ad34015 100755 --- a/src/cli/onevm +++ b/src/cli/onevm @@ -468,7 +468,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :list, list_desc, [:filterflag, nil], - :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do + :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS+ + [OpenNebulaHelper::DESCRIBE] do helper.list_pool(options, false, args[0]) end diff --git a/src/cli/onevnet b/src/cli/onevnet index 50b4adb321..7c28994113 100755 --- a/src/cli/onevnet +++ b/src/cli/onevnet @@ -199,7 +199,8 @@ cmd=CommandParser::CmdParser.new(ARGV) do EOT command :list, list_desc, [:filterflag, nil], - :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS do + :options=>CLIHelper::OPTIONS+OpenNebulaHelper::OPTIONS+ + [OpenNebulaHelper::DESCRIBE] do helper.list_pool(options, false, args[0]) end