public inbox for pmg-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Stoiko Ivanov <s.ivanov@proxmox.com>, pmg-devel@lists.proxmox.com
Subject: Re: [pmg-devel] [PATCH pmg-api 3/3] pmgdb: add active parameter to dump
Date: Mon, 26 Feb 2024 20:11:28 +0100	[thread overview]
Message-ID: <d6281853-0990-4bc7-af39-625cb518c17f@proxmox.com> (raw)
In-Reply-To: <20240222210620.362646-4-s.ivanov@proxmox.com>

Am 22/02/2024 um 22:06 schrieb Stoiko Ivanov:
> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
> ---
>  src/PMG/CLI/pmgdb.pm | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/src/PMG/CLI/pmgdb.pm b/src/PMG/CLI/pmgdb.pm
> index 28e9583..0ac3f82 100644
> --- a/src/PMG/CLI/pmgdb.pm
> +++ b/src/PMG/CLI/pmgdb.pm
> @@ -39,10 +39,11 @@ sub print_objects {
>  }
>  
>  sub print_rule {
> -    my ($ruledb, $rule) = @_;
> +    my ($ruledb, $rule, $active_only) = @_;
>  
>      $ruledb->load_rule_attributes($rule);
>  
> +    return if !$rule->{active} && $active_only;
>      my $direction = {
>  	0 => 'in',
>  	1 => 'out',
> @@ -112,7 +113,14 @@ __PACKAGE__->register_method ({
>      description => "Print the PMG rule database.",
>      parameters => {
>  	additionalProperties => 0,
> -	properties => {},
> +	properties => {
> +	    active => {
> +		type => 'boolean',
> +		description => "Print only active rules",
> +		optional => 1,
> +		default => 0,
> +	    },
> +	},
>      },
>      returns => { type => 'null'},
>      code => sub {
> @@ -124,7 +132,7 @@ __PACKAGE__->register_method ({
>  	my $rules = $ruledb->load_rules();
>  
>  	foreach my $rule (@$rules) {
> -	    print_rule($ruledb, $rule);
> +	    print_rule($ruledb, $rule, $param->{active});
>  	}
>  
>  	$ruledb->close();


If I call this with active set to disabled, i.e. as `pmgdb dump --active 0`, then
I still get the active rules, which feels rather a bit wrong.

IMO this could be interpreted as ternary:

1. undef (not passed) -> both
2. true (--active[=1]) -> active only
3. false (--active=0) -> incative only




  reply	other threads:[~2024-02-26 19:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-22 21:06 [pmg-devel] [PATCH pmg-api 0/3] small improvments to pmgdb dump output Stoiko Ivanov
2024-02-22 21:06 ` [pmg-devel] [PATCH pmg-api 1/3] pmgdb: highlight active rules Stoiko Ivanov
2024-02-22 21:06 ` [pmg-devel] [PATCH pmg-api 2/3] pmgdb: drop "found" prefixes for each rule and group Stoiko Ivanov
2024-02-22 21:06 ` [pmg-devel] [PATCH pmg-api 3/3] pmgdb: add active parameter to dump Stoiko Ivanov
2024-02-26 19:11   ` Thomas Lamprecht [this message]
2024-02-27 12:53     ` Stoiko Ivanov
2024-02-27 13:21       ` Thomas Lamprecht
2024-02-23 10:40 ` [pmg-devel] [PATCH pmg-api 0/3] small improvments to pmgdb dump output Friedrich Weber
2024-02-23 11:19   ` Stoiko Ivanov
2024-02-23 12:53 ` Alexander Zeidler
2024-02-23 16:46 ` [pmg-devel] applied-series: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d6281853-0990-4bc7-af39-625cb518c17f@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=pmg-devel@lists.proxmox.com \
    --cc=s.ivanov@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal