From: Dietmar Maurer Date: Tue, 3 Nov 2020 05:36:50 +0000 (+0100) Subject: cleanup: use const_regex, use BACKUP_ID_REGEX for api too X-Git-Tag: v0.9.5~15 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=038ee59960df676a7627a9ada1e2400a37fb01d9;p=proxmox-backup.git cleanup: use const_regex, use BACKUP_ID_REGEX for api too --- diff --git a/src/api2/types/mod.rs b/src/api2/types/mod.rs index 127c7210..16c299bc 100644 --- a/src/api2/types/mod.rs +++ b/src/api2/types/mod.rs @@ -5,7 +5,7 @@ use proxmox::api::{api, schema::*}; use proxmox::const_regex; use proxmox::{IPRE, IPRE_BRACKET, IPV4RE, IPV6RE, IPV4OCTET, IPV6H16, IPV6LS32}; -use crate::backup::CryptMode; +use crate::backup::{CryptMode, BACKUP_ID_REGEX}; use crate::server::UPID; #[macro_use] @@ -101,6 +101,9 @@ pub const CERT_FINGERPRINT_SHA256_FORMAT: ApiStringFormat = pub const PROXMOX_SAFE_ID_FORMAT: ApiStringFormat = ApiStringFormat::Pattern(&PROXMOX_SAFE_ID_REGEX); +pub const BACKUP_ID_FORMAT: ApiStringFormat = + ApiStringFormat::Pattern(&BACKUP_ID_REGEX); + pub const SINGLE_LINE_COMMENT_FORMAT: ApiStringFormat = ApiStringFormat::Pattern(&SINGLE_LINE_COMMENT_REGEX); @@ -276,7 +279,7 @@ pub const BACKUP_TYPE_SCHEMA: Schema = pub const BACKUP_ID_SCHEMA: Schema = StringSchema::new("Backup ID.") - .format(&PROXMOX_SAFE_ID_FORMAT) + .format(&BACKUP_ID_FORMAT) .schema(); pub const BACKUP_TIME_SCHEMA: Schema = diff --git a/src/backup/backup_info.rs b/src/backup/backup_info.rs index c5d245e9..59849848 100644 --- a/src/backup/backup_info.rs +++ b/src/backup/backup_info.rs @@ -1,11 +1,11 @@ use crate::tools; use anyhow::{bail, format_err, Error}; -use regex::Regex; use std::os::unix::io::RawFd; use std::path::{PathBuf, Path}; -use lazy_static::lazy_static; + +use proxmox::const_regex; use super::manifest::MANIFEST_BLOB_NAME; @@ -13,25 +13,19 @@ macro_rules! BACKUP_ID_RE { () => (r"[A-Za-z0-9_][A-Za-z0-9._\-]*") } macro_rules! BACKUP_TYPE_RE { () => (r"(?:host|vm|ct)") } macro_rules! BACKUP_TIME_RE { () => (r"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z") } -lazy_static!{ - static ref BACKUP_FILE_REGEX: Regex = Regex::new( - r"^.*\.([fd]idx|blob)$").unwrap(); - - static ref BACKUP_TYPE_REGEX: Regex = Regex::new( - concat!(r"^(", BACKUP_TYPE_RE!(), r")$")).unwrap(); +const_regex!{ + BACKUP_FILE_REGEX = r"^.*\.([fd]idx|blob)$"; - static ref BACKUP_ID_REGEX: Regex = Regex::new( - concat!(r"^", BACKUP_ID_RE!(), r"$")).unwrap(); + BACKUP_TYPE_REGEX = concat!(r"^(", BACKUP_TYPE_RE!(), r")$"); - static ref BACKUP_DATE_REGEX: Regex = Regex::new( - concat!(r"^", BACKUP_TIME_RE!() ,r"$")).unwrap(); + pub BACKUP_ID_REGEX = concat!(r"^", BACKUP_ID_RE!(), r"$"); - static ref GROUP_PATH_REGEX: Regex = Regex::new( - concat!(r"^(", BACKUP_TYPE_RE!(), ")/(", BACKUP_ID_RE!(), r")$")).unwrap(); + BACKUP_DATE_REGEX = concat!(r"^", BACKUP_TIME_RE!() ,r"$"); - static ref SNAPSHOT_PATH_REGEX: Regex = Regex::new( - concat!(r"^(", BACKUP_TYPE_RE!(), ")/(", BACKUP_ID_RE!(), ")/(", BACKUP_TIME_RE!(), r")$")).unwrap(); + GROUP_PATH_REGEX = concat!(r"^(", BACKUP_TYPE_RE!(), ")/(", BACKUP_ID_RE!(), r")$"); + SNAPSHOT_PATH_REGEX = concat!( + r"^(", BACKUP_TYPE_RE!(), ")/(", BACKUP_ID_RE!(), ")/(", BACKUP_TIME_RE!(), r")$"); } /// BackupGroup is a directory containing a list of BackupDir