Browse Source

use new helper PVE::RESTHandler::api_dump_remove_refs()

stable-5
Dietmar Maurer 1 year ago
parent
commit
04222b448b
1 changed files with 4 additions and 33 deletions
  1. 4
    33
      extractapi.pl

+ 4
- 33
extractapi.pl View File

@@ -1,43 +1,14 @@
#!/usr/bin/perl -w
#!/usr/bin/perl

use strict;
use warnings;

use PVE::RESTHandler;
use PVE::API2;
use JSON;

sub cleanup_tree {
my ($h) = @_;

my $class = ref($h);
return $h if !$class;

if ($class eq 'ARRAY') {
my $res = [];
foreach my $el (@$h) {
push @$res, cleanup_tree($el);
}
return $res;
} elsif ($class eq 'HASH') {
my $res = {};
foreach my $k (keys %$h) {
if (my $class = ref($h->{$k})) {
if ($class eq 'CODE') {
next if $k eq 'completion';
}
$res->{$k} = cleanup_tree($h->{$k});
} else {
$res->{$k} = $h->{$k};
}
}
return $res;
} elsif ($class eq 'Regexp') {
return "$h"; # return string representation
} else {
die "unknown class '$class'\n";
}
}

my $tree = cleanup_tree(PVE::RESTHandler::api_dump('PVE::API2'));
my $tree = PVE::RESTHandler::api_dump_remove_refs(PVE::RESTHandler::api_dump('PVE::API2'));

print "var pveapi = " . to_json($tree, {pretty => 1, canonical => 1}) . ";\n\n";


Loading…
Cancel
Save