X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=blobdiff_plain;f=extractapi.pl;h=06d6af4cb2cabe8bbdf514ed03046879bf53c15b;hp=afd2cf12068714480a0c472ae2a22a368547b3b8;hb=a45c999b4586734621bbc968d67f87390739b270;hpb=44660702242b1670808d0603d90d48e24211638d diff --git a/extractapi.pl b/extractapi.pl index afd2cf1..06d6af4 100755 --- a/extractapi.pl +++ b/extractapi.pl @@ -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";