]> git.proxmox.com Git - pve-manager.git/commitdiff
replace read_password with param_mapping in pvesh
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 15 Jun 2018 13:28:45 +0000 (15:28 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 27 Jun 2018 10:19:45 +0000 (12:19 +0200)
and use get_standard_mapping from CLIHandler

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
bin/pvesh

index 36ce7636f969098c8d469f94f504da1126f01e8e..41aec00179c56bda0c0817fba3e144233d511742 100755 (executable)
--- a/bin/pvesh
+++ b/bin/pvesh
@@ -16,6 +16,7 @@ use PVE::SafeSyslog;
 use PVE::Cluster;
 use PVE::INotify;
 use PVE::RPCEnvironment;
+use PVE::CLIHandler;
 use PVE::API2Tools;
 use PVE::API2;
 use JSON;
@@ -184,23 +185,10 @@ sub abs_path {
     return $ret;
 }
 
-my $read_password = sub {
-    my $attribs = $term->Attribs;
-    my $old = $attribs->{redisplay_function};
-    $attribs->{redisplay_function} = $attribs->{shadow_redisplay};
-    my $input = $term->readline('password: ');
-    my $conf = $term->readline('Retype new password: ');
-    $attribs->{redisplay_function} = $old;
-
-    # remove password from history
-    if ($term->Features->{autohistory}) {
-       my $historyPosition = $term->where_history();
-       $term->remove_history($historyPosition);
-       $term->remove_history($historyPosition - 1);
-    }
+my $param_mapping = sub {
+    my ($name) = @_;
 
-    die "Passwords do not match.\n" if ($input ne $conf);
-    return $input;
+    return [PVE::CLIHandler::get_standard_mapping('pve-password')];
 };
 
 sub reverse_map_cmd {
@@ -279,7 +267,7 @@ sub call_method {
     my ($node, $remip) = check_proxyto($info, $uri_param);
     return proxy_handler($node, $remip, $dir, $cmd, $args) if $node;
 
-    my $data = $handler->cli_handler("$cmd $dir", $info->{name}, $args, [], $uri_param, $read_password);
+    my $data = $handler->cli_handler("$cmd $dir", $info->{name}, $args, [], $uri_param, $param_mapping);
 
     return if $nooutput;
 
@@ -450,7 +438,7 @@ sub list_dir {
     return proxy_handler($node, $remip, $dir, 'ls', $args) if $node;
 
 
-    my $data = $handler->cli_handler("ls $dir", $info->{name}, $args, [], $uri_param, $read_password); 
+    my $data = $handler->cli_handler("ls $dir", $info->{name}, $args, [], $uri_param, $param_mapping);
     my $lnk = PVE::JSONSchema::method_get_child_link($info);
     my $children = extract_children($lnk, $data);