]> git.proxmox.com Git - pve-docs.git/blobdiff - extractapi.pl
Precise certificate generation
[pve-docs.git] / extractapi.pl
index 0488ea940ad54ed6802e098a98278f0c17c61301..06d6af4cb2cabe8bbdf514ed03046879bf53c15b 100755 (executable)
@@ -1,44 +1,15 @@
-#!/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}) . ";\n\n";
+print "var pveapi = " . to_json($tree, {pretty => 1, canonical => 1}) . ";\n\n";
 
 exit(0);