]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/CLIHandler.pm
cleanup: rename $returninfo to $result_schema
[pve-common.git] / src / PVE / CLIHandler.pm
index b4c95ef716591c474378970cde08d486ec549c30..5f3927dd353326f5a739d42f486bc22715e80093 100644 (file)
@@ -493,11 +493,12 @@ sub print_text_table {
 # prints the result of an API GET call returning an array
 # and to have the results key of the API call defined.
 sub print_api_list {
-    my ($props_to_print, $data, $returninfo) = @_;
+    my ($data, $result_schema, $props_to_print) = @_;
 
-    die "can only print array result" if $returninfo->{type} ne 'array';
+    die "can only print object lists\n"
+       if !($result_schema->{type} eq 'array' && $result_schema->{items}->{type} eq 'object');
 
-    my $returnprops = $returninfo->{items}->{properties};
+    my $returnprops = $result_schema->{items}->{properties};
 
     if (!defined($props_to_print)) {
        $props_to_print = [ sort keys %$returnprops ];
@@ -539,7 +540,7 @@ sub print_api_result {
            return if !scalar(@$data);
            my $item_type = $result_schema->{items}->{type};
            if ($item_type eq 'object') {
-               print_api_list(undef, $data, $result_schema);
+               print_api_list($data, $result_schema);
            } else {
                foreach my $entry (@$data) {
                    print data_to_text($entry) . "\n";
@@ -655,8 +656,8 @@ my $handle_cmd  = sub {
     my $res = $class->cli_handler($cmd_str, $name, $cmd_args, $arg_param, $uri_param, $read_password_func, $param_mapping_func);
 
     if (defined $outsub) {
-       my $returninfo = $class->map_method_by_name($name)->{returns};
-       $outsub->($res, $returninfo);
+       my $result_schema = $class->map_method_by_name($name)->{returns};
+       $outsub->($res, $result_schema);
     }
 };
 
@@ -693,8 +694,8 @@ my $handle_simple_cmd = sub {
     my $res = $class->cli_handler($name, $name, \@ARGV, $arg_param, $uri_param, $read_password_func, $param_mapping_func);
 
     if (defined $outsub) {
-       my $returninfo = $class->map_method_by_name($name)->{returns};
-       $outsub->($res, $returninfo);
+       my $result_schema = $class->map_method_by_name($name)->{returns};
+       $outsub->($res, $result_schema);
     }
 };