- my $type = $result_schema->{type};
- if ($type eq 'object') {
- die "implement me";
- } elsif ($type eq 'array') {
- my $item_type = $result_schema->{items}->{type};
- if ($item_type eq 'object') {
- die "implement me";
- } elsif ($item_type eq 'array') {
- die "implement me";
- } else {
- foreach my $el (@$data) {
- print "$el\n"
+ my $type = $result_schema->{type};
+ if ($type eq 'object') {
+ die "implement me";
+ } elsif ($type eq 'array') {
+ my $item_type = $result_schema->{items}->{type};
+ if ($item_type eq 'object') {
+ die "implement me";
+ } elsif ($item_type eq 'array') {
+ die "implement me";
+ } else {
+ foreach my $el (@$data) {
+ print "$el\n"
+ }
+ }
+ } else {
+ print "$data\n";
+ }
+ } else {
+ die "internal error: unknown output format"; # should not happen
+ }
+}
+
+my $__real_remove_formats; $__real_remove_formats = sub {
+ my ($properties) = @_;
+
+ foreach my $pname (keys %$properties) {
+ if (my $d = $properties->{$pname}) {
+ if (defined(my $format = $d->{format})) {
+ if (ref($format)) {
+ $__real_remove_formats->($format);
+ } elsif (!PVE::APIClient::JSONSchema::get_format($format)) {
+ # simply remove unknown format definitions
+ delete $d->{format};