src/bin/proxmox-backup-manager.rs: improve network list output format
This commit is contained in:
		| @ -254,16 +254,41 @@ fn list_network_devices(param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result | |||||||
|         _ => unreachable!(), |         _ => unreachable!(), | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     fn render_address(_value: &Value, record: &Value) -> Result<String, Error> { | ||||||
|  |         let mut text = String::new(); | ||||||
|  |  | ||||||
|  |         if let Some(cidr) = record["cidr_v4"].as_str() { | ||||||
|  |             text.push_str(cidr); | ||||||
|  |         } | ||||||
|  |         if let Some(cidr) = record["cidr_v6"].as_str() { | ||||||
|  |             if !text.is_empty() { text.push('\n'); } | ||||||
|  |             text.push_str(cidr); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Ok(text) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     fn render_gateway(_value: &Value, record: &Value) -> Result<String, Error> { | ||||||
|  |         let mut text = String::new(); | ||||||
|  |  | ||||||
|  |         if let Some(gateway) = record["gateway_v4"].as_str() { | ||||||
|  |             text.push_str(gateway); | ||||||
|  |         } | ||||||
|  |         if let Some(gateway) = record["gateway_v6"].as_str() { | ||||||
|  |             if !text.is_empty() { text.push('\n'); } | ||||||
|  |             text.push_str(gateway); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         Ok(text) | ||||||
|  |     } | ||||||
|  |  | ||||||
|     let options = default_table_format_options() |     let options = default_table_format_options() | ||||||
|         .column(ColumnConfig::new("name")) |         .column(ColumnConfig::new("name")) | ||||||
|         .column(ColumnConfig::new("auto")) |         .column(ColumnConfig::new("auto")) | ||||||
|         .column(ColumnConfig::new("method_v4")) |         .column(ColumnConfig::new("method_v4")) | ||||||
|         .column(ColumnConfig::new("method_v6")) |         .column(ColumnConfig::new("method_v6")) | ||||||
|         .column(ColumnConfig::new("cidr_v4")) |         .column(ColumnConfig::new("cidr_v4").header("address").renderer(render_address)) | ||||||
|         .column(ColumnConfig::new("gateway_v4")) |         .column(ColumnConfig::new("gateway_v4").header("gateway").renderer(render_gateway)); | ||||||
|         .column(ColumnConfig::new("cidr_v6")) |  | ||||||
|         .column(ColumnConfig::new("gateway_v6")) |  | ||||||
|        ; |  | ||||||
|  |  | ||||||
|     format_and_print_result_full(&mut data, info.returns, &output_format, &options); |     format_and_print_result_full(&mut data, info.returns, &output_format, &options); | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user