[pve-devel] applied: [pve-common v2] PVE::RESTHandler::generate_usage_str - new static method to generate usage from $info
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Jul 6 10:39:46 CEST 2018
On 7/6/18 9:30 AM, Dietmar Maurer wrote:
> This is useful to generate usage information with pveclient, where we do not have
> handler classes at all.
>
> Signed-off-by: Dietmar Maurer <dietmar at proxmox.com>
> ---
>
> Changes in v2: renamed generate_usage_str => getopt_usage
>
> To avoid name conflict with CLIHandler method.
>
> src/PVE/RESTHandler.pm | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/src/PVE/RESTHandler.pm b/src/PVE/RESTHandler.pm
> index c303c38..715404a 100644
> --- a/src/PVE/RESTHandler.pm
> +++ b/src/PVE/RESTHandler.pm
> @@ -566,7 +566,7 @@ my $compute_param_mapping_hash = sub {
>
> # generate usage information for command line tools
> #
> -# $name ... the name of the method
> +# $info ... method info
> # $prefix ... usually something like "$exename $cmd" ('pvesm add')
> # $arg_param ... list of parameters we want to get as ordered arguments
> # on the command line (or single parameter name for lists)
> @@ -577,13 +577,13 @@ my $compute_param_mapping_hash = sub {
> # 'full' ... text, include description
> # 'asciidoc' ... generate asciidoc for man pages (like 'full')
> # $param_cb ... mapping for string parameters to file path parameters
> -sub usage_str {
> - my ($self, $name, $prefix, $arg_param, $fixed_param, $format, $param_cb) = @_;
> +sub getopt_usage {
> + my ($info, $prefix, $arg_param, $fixed_param, $format, $param_cb) = @_;
>
> $format = 'long' if !$format;
>
> - my $info = $self->map_method_by_name($name);
> my $schema = $info->{parameters};
> + my $name = $info->{name};
> my $prop = $schema->{properties};
>
> my $out = '';
> @@ -679,6 +679,14 @@ sub usage_str {
> return $out;
> }
>
> +sub usage_str {
> + my ($self, $name, $prefix, $arg_param, $fixed_param, $format, $param_cb) = @_;
> +
> + my $info = $self->map_method_by_name($name);
> +
> + return getopt_usage($info, $prefix, $arg_param, $fixed_param, $format, $param_cb);
> +}
> +
> # generate docs from JSON schema properties
> sub dump_properties {
> my ($prop, $format, $style, $filterFn) = @_;
>
applied
More information about the pve-devel
mailing list