]> git.proxmox.com Git - pve-common.git/commitdiff
JSONSchema::generate_typetext: default_key support
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 22 Sep 2015 11:45:43 +0000 (13:45 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Sep 2015 06:10:46 +0000 (08:10 +0200)
src/PVE/JSONSchema.pm

index 0d6860812ff4d37adccec866773942096d0116d9..3afc37abd45d0d1d6dc1089d29ccc960224bdd21 100644 (file)
@@ -1357,13 +1357,17 @@ sub generate_typetext {
     my ($pre, $post) = ('', '');
     my $add = sub {
        my ($key) = @_;
     my ($pre, $post) = ('', '');
     my $add = sub {
        my ($key) = @_;
-       if (my $desc = $schema->{$key}->{format_description}) {
-           $typetext .= "$pre$key=<$desc>$post";
-       } elsif (my $text = $schema->{$key}->{typetext}) {
-           $typetext .= "$pre$text$post";
+       $typetext .= $pre;
+       my $entry = $schema->{$key};
+       if (my $desc = $entry->{format_description}) {
+           $typetext .= $entry->{default_key} ? "[$key=]" : "$key=";
+           $typetext .= "<$desc>";
+       } elsif (my $text = $entry->{typetext}) {
+           $typetext .= $text;
        } else {
            die "internal error: neither format_description nor typetext found";
        }
        } else {
            die "internal error: neither format_description nor typetext found";
        }
+       $typetext .= $post;
     };
     foreach my $key (@required) {
        &$add($key);
     };
     foreach my $key (@required) {
        &$add($key);