X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FCLIHandler.pm;h=b24a0cc6583ccbfa97e190c96e4ed925b1a32480;hp=1ad1b65e9e352aeb7780fbc61ad6114214c7845b;hb=ba49de85b9fbaded0da7997363af76f789fe9a72;hpb=0da61ab3c343ee60c6d3841de10328ab89158b31 diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm index 1ad1b65..b24a0cc 100644 --- a/src/PVE/CLIHandler.pm +++ b/src/PVE/CLIHandler.pm @@ -38,6 +38,34 @@ my $cmddef; my $exename; my $cli_handler_class; +my $standard_mappings = { + 'pve-password' => { + name => 'password', + desc => '', + interactive => 1, + func => sub { + my ($value) = @_; + return $value if $value; + return PVE::PTY::get_confirmed_password(); + }, + }, +}; +sub get_standard_mapping { + my ($name, $base) = @_; + + my $std = $standard_mappings->{$name}; + die "no such standard mapping '$name'\n" if !$std; + + my $res = $base || {}; + + foreach my $opt (keys %$std) { + next if defined($res->{$opt}); + $res->{$opt} = $std->{$opt}; + } + + return $res; +} + my $assert_initialized = sub { my @caller = caller; die "$caller[0]:$caller[2] - not initialized\n" @@ -70,35 +98,6 @@ my $get_commands = sub { my $complete_command_names = sub { $get_commands->($cmddef) }; -my $standard_mappings = { - 'pve-password' => { - name => 'password', - desc => '', - interactive => 1, - func => sub { - my ($value) = @_; - return $value if $value; - return PVE::PTY::get_confirmed_password(); - }, - }, -}; - -sub get_standard_mapping { - my ($name, $base) = @_; - - my $std = $standard_mappings->{$name}; - die "no such standard mapping '$name'\n" if !$std; - - my $res = $base || {}; - - foreach my $opt (keys %$std) { - next if defined($res->{$opt}); - $res->{$opt} = $std->{$opt}; - } - - return $res; -} - # traverses the command definition using the $argv array, resolving one level # of aliases. # Returns the matching (sub) command and its definition, and argument array for @@ -444,12 +443,12 @@ sub print_text_table { my $last_col = $formatopts->[$#{$formatopts}]; foreach my $col ( @$formatopts ) { - my ($key, $title, $cutoff, $default) = @$col{qw(key title cutoff default)}; + my ($key, $title, $cutoff) = @$col{qw(key title cutoff)}; $title //= $key; push @keys, $key; push @titles, $title; - $defaults{$key} = $default; + $defaults{$key} = $col->{default} // ''; # calculate maximal print width and cutoff my $titlelen = length($title);