all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v2 manager 6/8] vzdump: refactor parsing mailto so it can be mocked
Date: Mon, 15 Feb 2021 13:25:00 +0100	[thread overview]
Message-ID: <20210215122502.23854-7-f.ebner@proxmox.com> (raw)
In-Reply-To: <20210215122502.23854-1-f.ebner@proxmox.com>

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---

No changes from v1.

 PVE/API2/VZDump.pm | 11 +----------
 PVE/VZDump.pm      | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/PVE/API2/VZDump.pm b/PVE/API2/VZDump.pm
index 806ac7fd..44376106 100644
--- a/PVE/API2/VZDump.pm
+++ b/PVE/API2/VZDump.pm
@@ -88,16 +88,7 @@ __PACKAGE__->register_method ({
 	# silent exit if specified VMs run on other nodes
 	return "OK" if !scalar(@{$local_vmids}) && !$param->{all};
 
-	# exclude-path list need to be 0 separated
-	if (defined($param->{'exclude-path'})) {
-	    my @expaths = split(/\0/, $param->{'exclude-path'} || '');
-	    $param->{'exclude-path'} = [ @expaths ];
-	}
-
-	if (defined($param->{mailto})) {
-	    my @mailto = PVE::Tools::split_list(extract_param($param, 'mailto'));
-	    $param->{mailto} = [ @mailto ];
-	}
+	PVE::VZDump::parse_mailto_exclude_path($param);
 
 	die "you can only backup a single VM with option --stdout\n"
 	    if $param->{stdout} && scalar(@{$local_vmids}) != 1;
diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
index a99d0565..2ddfa851 100644
--- a/PVE/VZDump.pm
+++ b/PVE/VZDump.pm
@@ -1177,6 +1177,27 @@ sub option_exists {
     return defined($confdesc->{$key});
 }
 
+# NOTE it might make sense to merge this and verify_vzdump_parameters(), but one
+# needs to adapt command_line() in guest-common's PVE/VZDump/Common.pm and detect
+# a second parsing attempt, because verify_vzdump_parameters() is called twice
+# during the update_job API call.
+sub parse_mailto_exclude_path {
+    my ($param) = @_;
+
+    # exclude-path list need to be 0 separated
+    if (defined($param->{'exclude-path'})) {
+	my @expaths = split(/\0/, $param->{'exclude-path'} || '');
+	$param->{'exclude-path'} = [ @expaths ];
+    }
+
+    if (defined($param->{mailto})) {
+	my @mailto = PVE::Tools::split_list(extract_param($param, 'mailto'));
+	$param->{mailto} = [ @mailto ];
+    }
+
+    return;
+}
+
 sub verify_vzdump_parameters {
     my ($param, $check_missing) = @_;
 
-- 
2.20.1





  parent reply	other threads:[~2021-02-15 12:25 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-15 12:24 [pve-devel] [PATCH-SERIES v2] loosen up mailto regex for backwards compatibility Fabian Ebner
2021-02-15 12:24 ` [pve-devel] [PATCH v2 common 1/8] sendmail: use more complete email regex and shellquote Fabian Ebner
2021-02-18 11:54   ` [pve-devel] applied: " Thomas Lamprecht
2021-02-15 12:24 ` [pve-devel] [PATCH v2 common 2/8] register email-or-username format Fabian Ebner
2021-02-18 11:54   ` [pve-devel] applied: " Thomas Lamprecht
2021-02-15 12:24 ` [pve-devel] [PATCH v2 guest-common 3/8] vzdump: command line: refactor handling prune-backups Fabian Ebner
2021-02-15 12:24 ` [pve-devel] [PATCH v2 guest-common 4/8] vzdump: command line: make sure mailto is comma-separated Fabian Ebner
2021-02-15 12:24 ` [pve-devel] [PATCH v2 guest-common 5/8] vzdump: mailto: use email-or-username-list format Fabian Ebner
2021-02-15 12:25 ` Fabian Ebner [this message]
2021-02-15 12:25 ` [pve-devel] [PATCH v2 manager 7/8] test: vzdump: add tests for mailto Fabian Ebner
2021-02-15 12:25 ` [pve-devel] [PATCH v2 manager 8/8] test: vzdump: rename vzdump_new_retention_test.pl to vzdump_new_test.pl Fabian Ebner
2021-02-17  9:52 ` [pve-devel] [PATCH-SERIES v2] loosen up mailto regex for backwards compatibility Dominik Csapak
2021-02-17 10:35   ` Fabian Ebner
2021-02-17 11:42     ` Fabian Ebner
2021-02-19 15:36 ` [pve-devel] applied: " 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=20210215122502.23854-7-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal