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

Stoiko Ivanov s.ivanov at proxmox.com
Fri Jun 22 15:27:50 CEST 2018


On Fri, Jun 22, 2018 at 08:00:29AM +0200, Dietmar Maurer wrote:
> 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]} ];

Maybe we could take the union of occuring keys in all 'rows' of data? (I'm
volunteering for a follow-up-patch)

> +	}
> +	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
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list