Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
- my ($args, $pwcallback, $preparefunc, $stringfilemap) = @_;
+ my ($args, $pwcallback, $preparefunc, $param_mapping_func) = @_;
$cmddef->{help} = [ __PACKAGE__, 'help', ['extra-args'] ];
$cmddef->{help} = [ __PACKAGE__, 'help', ['extra-args'] ];
$abort->("unknown command '$cmd_str'") if !$class;
my $prefix = "$exename $cmd_str";
$abort->("unknown command '$cmd_str'") if !$class;
my $prefix = "$exename $cmd_str";
- my $res = $class->cli_handler($prefix, $name, $cmd_args, $arg_param, $uri_param, $pwcallback, $stringfilemap);
+ my $res = $class->cli_handler($prefix, $name, $cmd_args, $arg_param, $uri_param, $pwcallback, $param_mapping_func);
&$outsub($res) if $outsub;
};
my $handle_simple_cmd = sub {
&$outsub($res) if $outsub;
};
my $handle_simple_cmd = sub {
- my ($args, $pwcallback, $preparefunc, $stringfilemap) = @_;
+ my ($args, $pwcallback, $preparefunc, $param_mapping_func) = @_;
my ($class, $name, $arg_param, $uri_param, $outsub) = @{$cmddef};
die "no class specified" if !$class;
my ($class, $name, $arg_param, $uri_param, $outsub) = @{$cmddef};
die "no class specified" if !$class;
&$preparefunc() if $preparefunc;
&$preparefunc() if $preparefunc;
- my $res = $class->cli_handler($name, $name, \@ARGV, $arg_param, $uri_param, $pwcallback, $stringfilemap);
+ my $res = $class->cli_handler($name, $name, \@ARGV, $arg_param, $uri_param, $pwcallback, $param_mapping_func);
&$outsub($res) if $outsub;
};
&$outsub($res) if $outsub;
};
my $preparefunc = $params{prepare};
my $pwcallback = $class->can('read_password');
my $preparefunc = $params{prepare};
my $pwcallback = $class->can('read_password');
- my $stringfilemap = $class->can('string_param_file_mapping');
+ my $param_mapping_func = $class->can('string_param_file_mapping');
$exename = &$get_exe_name($class);
$exename = &$get_exe_name($class);
$cmddef = ${"${class}::cmddef"};
if (ref($cmddef) eq 'ARRAY') {
$cmddef = ${"${class}::cmddef"};
if (ref($cmddef) eq 'ARRAY') {
- &$handle_simple_cmd(\@ARGV, $pwcallback, $preparefunc, $stringfilemap);
+ &$handle_simple_cmd(\@ARGV, $pwcallback, $preparefunc, $param_mapping_func);
- &$handle_cmd(\@ARGV, $pwcallback, $preparefunc, $stringfilemap);
+ &$handle_cmd(\@ARGV, $pwcallback, $preparefunc, $param_mapping_func);
# 'full' ... text, include description
# 'asciidoc' ... generate asciidoc for man pages (like 'full')
# $hidepw ... hide password option (use this if you provide a read passwork callback)
# 'full' ... text, include description
# 'asciidoc' ... generate asciidoc for man pages (like 'full')
# $hidepw ... hide password option (use this if you provide a read passwork callback)
-# $stringfilemap ... mapping for string parameters to file path parameters
+# $param_mapping_func ... mapping for string parameters to file path parameters
- my ($self, $name, $prefix, $arg_param, $fixed_param, $format, $hidepw, $stringfilemap) = @_;
+ my ($self, $name, $prefix, $arg_param, $fixed_param, $format, $hidepw, $param_mapping_func) = @_;
$format = 'long' if !$format;
$format = 'long' if !$format;
- my $param_mapping_hash = $compute_param_mapping_hash->(&$stringfilemap($name))
- if $stringfilemap;
+ my $param_mapping_hash = $compute_param_mapping_hash->(&$param_mapping_func($name))
+ if $param_mapping_func;
$opts .= &$get_property_description($base, 'arg', $prop->{$k}, $format,
$hidepw, $param_mapping_hash->{$k});
$opts .= &$get_property_description($base, 'arg', $prop->{$k}, $format,
$hidepw, $param_mapping_hash->{$k});
- my ($self, $prefix, $name, $args, $arg_param, $fixed_param, $pwcallback, $stringfilemap) = @_;
+ my ($self, $prefix, $name, $args, $arg_param, $fixed_param, $pwcallback, $param_mapping_func) = @_;
my $info = $self->map_method_by_name($name);
my $info = $self->map_method_by_name($name);
eval {
my $param = PVE::JSONSchema::get_options($info->{parameters}, $args, $arg_param, $fixed_param, $pwcallback);
eval {
my $param = PVE::JSONSchema::get_options($info->{parameters}, $args, $arg_param, $fixed_param, $pwcallback);
- if (defined($stringfilemap)) {
- my $param_mapping_hash = $compute_param_mapping_hash->(&$stringfilemap($name));
+ if (defined($param_mapping_func)) {
+ my $param_mapping_hash = $compute_param_mapping_hash->(&$param_mapping_func($name));
&$replace_file_names_with_contents($param, $param_mapping_hash);
}
&$replace_file_names_with_contents($param, $param_mapping_hash);
}
die $err if !$ec || $ec ne "PVE::Exception" || !$err->is_param_exc();
die $err if !$ec || $ec ne "PVE::Exception" || !$err->is_param_exc();
- $err->{usage} = $self->usage_str($name, $prefix, $arg_param, $fixed_param, 'short', $pwcallback, $stringfilemap);
+ $err->{usage} = $self->usage_str($name, $prefix, $arg_param, $fixed_param, 'short', $pwcallback, $param_mapping_func);