From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id C6F2BBC0D6 for ; Thu, 28 Mar 2024 13:38:16 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 922089E9A for ; Thu, 28 Mar 2024 13:37:42 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Thu, 28 Mar 2024 13:37:40 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id C100B429ED for ; Thu, 28 Mar 2024 13:37:40 +0100 (CET) From: Christian Ebner To: pbs-devel@lists.proxmox.com Date: Thu, 28 Mar 2024 13:36:31 +0100 Message-Id: <20240328123707.336951-23-c.ebner@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240328123707.336951-1-c.ebner@proxmox.com> References: <20240328123707.336951-1-c.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH v3 proxmox-backup 22/58] client: helper: add method for split archive name mapping X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Mar 2024 12:38:16 -0000 Helper method that takes the meta or payload archive name as input and maps it to the correct archive names for metadata and payload archive. If neighter is matched, fallback to returning the passed in archive name as target archive and `None` for the payload archive name. Signed-off-by: Christian Ebner --- changes since version 2: - not present in previous version proxmox-backup-client/src/helper.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/proxmox-backup-client/src/helper.rs b/proxmox-backup-client/src/helper.rs index cb58db2a6..864bdd737 100644 --- a/proxmox-backup-client/src/helper.rs +++ b/proxmox-backup-client/src/helper.rs @@ -41,3 +41,24 @@ pub(crate) async fn get_buffered_pxar_reader( Ok(BufferedDynamicReader::new(index, chunk_reader)) } + +pub(crate) fn get_pxar_archive_names(archive_name: &str) -> (String, Option) { + if let Some(base) = archive_name + .strip_suffix(".mpxar.didx") + .or_else(|| archive_name.strip_suffix(".ppxar.didx")) + { + return ( + format!("{base}.mpxar.didx"), + Some(format!("{base}.ppxar.didx")), + ); + } + + if let Some(base) = archive_name + .strip_suffix(".mpxar") + .or_else(|| archive_name.strip_suffix(".ppxar")) + { + return (format!("{base}.mpxar"), Some(format!("{base}.ppxar"))); + } + + (archive_name.to_owned(), None) +} -- 2.39.2