[pve-devel] [PATCH pve-common 2/5] PVE::CLIHandler::print_api_list - allow to pass empty $props_to_print

Dietmar Maurer dietmar at proxmox.com
Fri Jun 22 08:00:29 CEST 2018


Signed-off-by: Dietmar Maurer <dietmar at proxmox.com>
---
 src/PVE/CLIHandler.pm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm
index b46d87e..b4c95ef 100644
--- a/src/PVE/CLIHandler.pm
+++ b/src/PVE/CLIHandler.pm
@@ -499,6 +499,14 @@ sub print_api_list {
 
     my $returnprops = $returninfo->{items}->{properties};
 
+    if (!defined($props_to_print)) {
+	$props_to_print = [ sort keys %$returnprops ];
+	if (!scalar(@$props_to_print)) {
+	    $props_to_print = [ sort keys %{$data->[0]} ];
+	}
+	die "unable to detect list properties\n" if !scalar(@$props_to_print);
+    }
+
     my $formatopts = [];
     foreach my $prop ( @$props_to_print ) {
 	my $propinfo = $returnprops->{$prop};
@@ -531,8 +539,7 @@ sub print_api_result {
 	    return if !scalar(@$data);
 	    my $item_type = $result_schema->{items}->{type};
 	    if ($item_type eq 'object') {
-		my $prop_list = [ sort keys %{$result_schema->{items}->{properties}}];
-		print_api_list($prop_list, $data, $result_schema);
+		print_api_list(undef, $data, $result_schema);
 	    } else {
 		foreach my $entry (@$data) {
 		    print data_to_text($entry) . "\n";
-- 
2.11.0



More information about the pve-devel mailing list