From 671c6a96e77b07fc0b1b13580eec81483800f498 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Fri, 30 Apr 2021 14:51:56 +0200 Subject: [PATCH] bin: use extract_output_format where necessary else we sometimes forget to remove it from the 'params' variable and use that further, running into 'invalid parameter' errors found by giving 'output-format' paramter to proxmox-tape status Signed-off-by: Dominik Csapak --- Cargo.toml | 2 +- src/bin/proxmox-backup-client.rs | 3 +-- src/bin/proxmox-tape.rs | 32 ++++++++++++++++---------------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1482aeb5..1ed5e5eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,7 +52,7 @@ percent-encoding = "2.1" pin-utils = "0.1.0" pin-project = "1.0" pathpatterns = "0.1.2" -proxmox = { version = "0.11.1", features = [ "sortable-macro", "api-macro", "websocket" ] } +proxmox = { version = "0.11.2", features = [ "sortable-macro", "api-macro", "websocket" ] } #proxmox = { git = "git://git.proxmox.com/git/proxmox", version = "0.1.2", features = [ "sortable-macro", "api-macro" ] } #proxmox = { path = "../proxmox/proxmox", features = [ "sortable-macro", "api-macro", "websocket" ] } proxmox-fuse = "0.1.1" diff --git a/src/bin/proxmox-backup-client.rs b/src/bin/proxmox-backup-client.rs index 50703dcb..578b2680 100644 --- a/src/bin/proxmox-backup-client.rs +++ b/src/bin/proxmox-backup-client.rs @@ -1266,13 +1266,12 @@ async fn prune_async(mut param: Value) -> Result { let group = tools::required_string_param(¶m, "group")?; let group: BackupGroup = group.parse()?; - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let quiet = param["quiet"].as_bool().unwrap_or(false); param.as_object_mut().unwrap().remove("repository"); param.as_object_mut().unwrap().remove("group"); - param.as_object_mut().unwrap().remove("output-format"); param.as_object_mut().unwrap().remove("quiet"); param["backup-type"] = group.backup_type().into(); diff --git a/src/bin/proxmox-tape.rs b/src/bin/proxmox-tape.rs index e1b87e35..e18f334c 100644 --- a/src/bin/proxmox-tape.rs +++ b/src/bin/proxmox-tape.rs @@ -119,7 +119,7 @@ pub fn extract_drive_name( /// Format media async fn format_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -152,7 +152,7 @@ async fn format_media(mut param: Value) -> Result<(), Error> { /// Rewind tape async fn rewind(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -185,7 +185,7 @@ async fn rewind(mut param: Value) -> Result<(), Error> { /// Eject/Unload drive media async fn eject_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -221,7 +221,7 @@ async fn eject_media(mut param: Value) -> Result<(), Error> { /// Load media with specified label async fn load_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -318,7 +318,7 @@ async fn load_media_from_slot(mut param: Value) -> Result<(), Error> { /// Unload media via changer async fn unload_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -358,7 +358,7 @@ async fn unload_media(mut param: Value) -> Result<(), Error> { /// Label media async fn label_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -396,7 +396,7 @@ async fn label_media(mut param: Value) -> Result<(), Error> { /// Read media label async fn read_label(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -456,7 +456,7 @@ async fn inventory( mut param: Value, ) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; let drive = extract_drive_name(&mut param, &config)?; @@ -514,7 +514,7 @@ async fn inventory( /// Label media with barcodes from changer device async fn barcode_label_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -653,7 +653,7 @@ fn debug_scan(mut param: Value) -> Result<(), Error> { /// Read Cartridge Memory (Medium auxiliary memory attributes) async fn cartridge_memory(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -694,7 +694,7 @@ async fn cartridge_memory(mut param: Value) -> Result<(), Error> { /// Read Volume Statistics (SCSI log page 17h) async fn volume_statistics(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -732,7 +732,7 @@ async fn volume_statistics(mut param: Value) -> Result<(), Error> { /// Get drive/media status async fn status(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -792,7 +792,7 @@ async fn status(mut param: Value) -> Result<(), Error> { /// Clean drive async fn clean_drive(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -853,7 +853,7 @@ async fn clean_drive(mut param: Value) -> Result<(), Error> { /// Backup datastore to tape media pool async fn backup(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -900,7 +900,7 @@ async fn backup(mut param: Value) -> Result<(), Error> { /// Restore data from media-set async fn restore(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?; @@ -947,7 +947,7 @@ async fn restore(mut param: Value) -> Result<(), Error> { /// Scan media and record content async fn catalog_media(mut param: Value) -> Result<(), Error> { - let output_format = get_output_format(¶m); + let output_format = extract_output_format(&mut param); let (config, _digest) = config::drive::config()?;